首页 新闻 赞助 找找看

正常链接http请求404问题

0
悬赏园豆:10 [已解决问题] 解决于 2019-05-24 10:11

var str= "http://img2.cits-sh.com/fujian/"+ System.Web.HttpUtility.UrlEncode("福建-厦门-音乐广场‎8834.jpg");
Console.WriteLine(str);
HttpWebResponse response = null;
try
{
System.Net.ServicePointManager.DefaultConnectionLimit = 512;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(str);
response = (HttpWebResponse)request.GetResponse();
Console.Write(response.StatusCode);
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (null != response)
response.Close();
}

如上所示,这个url编码后在浏览器可以打开,但是http请求返回404。不知道有没有有遇到过这个问题的兄弟。

自由的鱼的主页 自由的鱼 | 初学一级 | 园豆:14
提问于:2019-05-08 22:48
< >
分享
最佳答案
0

加上 UserAgent 试试

收获园豆:10
dudu | 高人七级 |园豆:31075 | 2019-05-09 09:31

您好,刚看到,谢谢您。我加上了和浏览器一样的UserAgent
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36";
但是请求还是返回404错误。

自由的鱼 | 园豆:14 (初学一级) | 2019-05-09 10:13

@自由的鱼: 知道了,问题出在 System.Web.HttpUtility.UrlEncode("福建-厦门-音乐广场‎8834.jpg"),不应该使用 UrlEncode

dudu | 园豆:31075 (高人七级) | 2019-05-09 10:15

@dudu: 您好,
1是不是直接这样:
var str= "http://img2.cits-sh.com/fujian/福建-厦门-音乐广场‎8834.jpg";
我刚这样测试也是返回404,
2.然后这样:
var str= "http://img2.cits-sh.com/fujian/福建-厦门-音乐广场‎8834.jpg";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(str);
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36";
也是返回404
是不是我哪里不对,其他的链接没有问题,就这种编码和不编码都有问题,我这里。

自由的鱼 | 园豆:14 (初学一级) | 2019-05-09 10:18

这种 var str = "http://img2.cits-sh.com/fujian/福建-厦门-音乐广场%e2%80%8e8834.jpg";
能够正常打开,也不行。就是浏览器复制过来

自由的鱼 | 园豆:14 (初学一级) | 2019-05-09 10:29

@自由的鱼: 我刚刚用你的代码测试了,不管加不加UrlEncode都返回 200 ,建议换个网络环境试试

dudu | 园豆:31075 (高人七级) | 2019-05-09 11:07

@dudu:
您好,不好意思,再打搅下,dudu大神,我想问下,您那边测试的时候的.NET Framework版本。我这里是4.6
因为我昨天在家测试也是404.
我发现4.0的版本可以,之后的不行

自由的鱼 | 园豆:14 (初学一级) | 2019-05-09 21:42

@自由的鱼: 我用的是 .NET Framework 4.5

dudu | 园豆:31075 (高人七级) | 2019-05-09 21:49

@dudu: 奇怪了。我4.5家里的网络也返回404。

自由的鱼 | 园豆:14 (初学一级) | 2019-05-09 22:09

@自由的鱼: 建议使用 Wireshark 进行 tcp 抓包看一下

dudu | 园豆:31075 (高人七级) | 2019-05-09 22:17

@dudu: 好的,谢谢。我正在搞。

自由的鱼 | 园豆:14 (初学一级) | 2019-05-09 22:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册