一些具有特殊性质的请求,带有法语口音。
var client = new HttpClient();
var data0 = await client.GetAsync("http://fr.wikipedia.org/wiki/Monastère_d'Arkadi");
这个简单的代码产生:
StatusCode:301,ReasonPhrase:'永久移动',版本:1.1
任何想法发生了什么?下载法国的纽约文章实际上是有效的。我甚至尝试对名称进行编码,但没有任何作用。
答案 0 :(得分:1)
维基百科发送一个HTTP 301,表明
的永久之家现在是
如果您查看响应标头,您会看到Location标头有更新的URL。
成功在浏览器中下载页面,因为浏览器会自动使用新位置。
<强>更新强>
如果我在IE中输入https://fr.wikipedia.org/wiki/Monast%C3%A8re_d%27Arkadi
(301响应的Location标头中的值),我会得到一个HTTP 200.但是,我也使用HttpClient获得HTTP 301。
如果我使用WebClient
,我会收到错误“尝试了太多重定向”。看起来这里发生了某种重定向循环。我正在进一步探索这个问题。
更新2
我下载了using wget页面,详细记录了详细信息。请注意,wget无法验证Wikipedia的SSL证书,并且有两个重定向:从http URL到https URL,然后再到带有转义字符的URL。
E:\Software\GnuWin32\bin>wget -v --no-check-certificate http://fr.wikipedia.org/wiki/Monastère_d'Arkadi
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = E:\Software\GnuWin32/etc/wgetrc
--2015-10-17 23:22:43-- http://fr.wikipedia.org/wiki/Monast%E8re_d'Arkadi
Resolving fr.wikipedia.org... 208.80.154.224
Connecting to fr.wikipedia.org|208.80.154.224|:80... connected.
HTTP request sent, awaiting response... 301 TLS Redirect
Location: https://fr.wikipedia.org/wiki/Monast%E8re_d'Arkadi [following]
--2015-10-17 23:22:44-- https://fr.wikipedia.org/wiki/Monast%E8re_d'Arkadi
Connecting to fr.wikipedia.org|208.80.154.224|:443... connected.
WARNING: cannot verify fr.wikipedia.org's certificate, issued by `/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Organization Va
lidation CA - SHA256 - G2':
Unable to locally verify the issuer's authority.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://fr.wikipedia.org/wiki/Monast%C3%A8re_d%27Arkadi [following]
--2015-10-17 23:22:44-- https://fr.wikipedia.org/wiki/Monast%C3%A8re_d%27Arkadi
Connecting to fr.wikipedia.org|208.80.154.224|:443... connected.
WARNING: cannot verify fr.wikipedia.org's certificate, issued by `/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Organization Va
lidation CA - SHA256 - G2':
Unable to locally verify the issuer's authority.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `MonastA"re_d'Arkadi'
[ <=> ] 171,252 463K/s in 0.4s
2015-10-17 23:22:45 (463 KB/s) - `MonastA"re_d'Arkadi' saved [171252]