@@ -83,23 +83,27 @@ internal WebBrowser(string identifier) {
8383 HttpClient . DefaultRequestHeaders . UserAgent . ParseAdd ( DefaultUserAgent ) ;
8484 }
8585
86- internal async Task < bool > UrlGet ( string request , string referer = null ) {
86+ internal async Task < bool > UrlHead ( string request , string referer = null ) {
8787 if ( string . IsNullOrEmpty ( request ) ) {
8888 return false ;
8989 }
9090
91- using ( HttpResponseMessage response = await UrlGetToResponse ( request , referer ) . ConfigureAwait ( false ) ) {
91+ using ( HttpResponseMessage response = await UrlHeadToResponse ( request , referer ) . ConfigureAwait ( false ) ) {
9292 return response != null ;
9393 }
9494 }
9595
96- internal async Task < bool > UrlPost ( string request , Dictionary < string , string > data = null , string referer = null ) {
96+ internal async Task < Uri > UrlHeadToUri ( string request , string referer = null ) {
9797 if ( string . IsNullOrEmpty ( request ) ) {
98- return false ;
98+ return null ;
9999 }
100100
101- using ( HttpResponseMessage response = await UrlPostToResponse ( request , data , referer ) . ConfigureAwait ( false ) ) {
102- return response != null ;
101+ using ( HttpResponseMessage response = await UrlHeadToResponse ( request , referer ) . ConfigureAwait ( false ) ) {
102+ if ( response == null ) {
103+ return null ;
104+ }
105+
106+ return response . RequestMessage . RequestUri ;
103107 }
104108 }
105109
@@ -190,6 +194,16 @@ internal async Task<XmlDocument> UrlGetToXML(string request, string referer = nu
190194 return xmlDocument ;
191195 }
192196
197+ internal async Task < bool > UrlPost ( string request , Dictionary < string , string > data = null , string referer = null ) {
198+ if ( string . IsNullOrEmpty ( request ) ) {
199+ return false ;
200+ }
201+
202+ using ( HttpResponseMessage response = await UrlPostToResponse ( request , data , referer ) . ConfigureAwait ( false ) ) {
203+ return response != null ;
204+ }
205+ }
206+
193207 private async Task < HttpResponseMessage > UrlGetToResponse ( string request , string referer = null ) {
194208 if ( string . IsNullOrEmpty ( request ) ) {
195209 return null ;
@@ -198,6 +212,14 @@ private async Task<HttpResponseMessage> UrlGetToResponse(string request, string
198212 return await UrlRequest ( request , HttpMethod . Get , null , referer ) . ConfigureAwait ( false ) ;
199213 }
200214
215+ private async Task < HttpResponseMessage > UrlHeadToResponse ( string request , string referer = null ) {
216+ if ( string . IsNullOrEmpty ( request ) ) {
217+ return null ;
218+ }
219+
220+ return await UrlRequest ( request , HttpMethod . Head , null , referer ) . ConfigureAwait ( false ) ;
221+ }
222+
201223 private async Task < HttpResponseMessage > UrlPostToResponse ( string request , Dictionary < string , string > data = null , string referer = null ) {
202224 if ( string . IsNullOrEmpty ( request ) ) {
203225 return null ;
0 commit comments