【问题标题】:Decoding a response c#解码响应 c#
【发布时间】:2013-07-03 03:43:18
【问题描述】:

我正在开发一些用于测试的 API,当我发出网络请求时遇到问题,尤其是当我检索网络响应时。 我使用此代码:

字符串请求 = HttpPost("http://iunlocker.net/check_imei.php", "ime_i=013270000134001");


  public static string HttpPost(string URI, string Parameters)
        {
            try
            {
            System.Net.WebRequest req = System.Net.WebRequest.Create(URI);
            req.ContentType = "application/x-www-form-urlencoded";
            req.Method = "POST"; 
            byte[] bytes = System.Text.Encoding.ASCII.GetBytes(Parameters);
            req.ContentLength = bytes.Length;
            System.IO.Stream os = req.GetRequestStream();
            os.Write(bytes, 0, bytes.Length);
            os.Close();

            System.Net.WebResponse resp= req.GetResponse();

            if (resp == null) return null;
            System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream());
            return sr.ReadToEnd().Trim();
            }
            catch (Exception ex) { }
            return null;    
        }

调用中的网站是一个示例,因为使用此网站和其他网站我无法正确检索结果。我收到异常“错误 403”

谁能帮助我告诉我可能做错了什么?

我认为问题出在编码/解码上——事实上,使用 Fiddler 时,它会在查看文本之前询问我是否要解码——但是对于另一个网站,例如,我从 Fiddler 收到相同的消息,但我可以毫无问题地检索响应。

提前致谢。

【问题讨论】:

标签: c# encoding webresponse


【解决方案1】:

HTTP 403 错误表示“禁止访问”。目标网站出于自身原因拒绝满足您的请求。

鉴于这个特定的网站http://iunlocker.net/,我会冒险猜测它可能正在检查 HTTP_REFERER。换句话说,它拒绝满足您的请求,因为它知道它不是来自正在查看表单的浏览器。

[编辑] 查看来自

的响应后
curl --form ime_i=013270000134001 -i http://iunlocker.net/check_imei.php

我可以看到即时响应是设置 cookie 和重定向。

HTTP/1.1 307 Temporary Redirect
Server: nginx
Date: Wed, 03 Jul 2013 04:00:27 GMT
Content-Type: text/html
Content-Length: 180
Connection: keep-alive
Set-Cookie: PMBC=35e9e4cd3a7f9d50e7f3bb39d43750d1; path=/
Location: http://iunlocker.net/check_imei.php?pmtry=1

<html>
<head><title>307 Temporary Redirect</title></head>
<body bgcolor="white">
<center><h1>307 Temporary Redirect</h1></center>
<hr><center>nginx</center>
</body>
</html>

本网站不希望您抓取它;如果你想打败它,你将不得不使用它的 cookie。

【讨论】:

  • 感谢您的帮助,这个网站只是一个例子,因为我经常发现有这种保护的网站,我真的很想知道这种方法是如何工作的以及如何正确检索数据,也许是为了提高安全性我的网站中的级别。
  • 感谢您的帮助,这个网站只是一个例子,因为我经常发现有这种保护的网站,我真的很想知道这种方法是如何工作的以及如何正确检索数据,也许是为了提高安全性我的网站中的级别。所以我需要严格使用cookies吗?我可以自己学习如何使用它,但你能帮我更好吗?我如何在不使用浏览器的情况下找到这种烹饪的价值?
【解决方案2】:

http://en.wikipedia.org/wiki/HTTP_403 - Web 服务器拒绝您访问该 URL。

也许您正在使用的 IP 地址不允许访问该资源。检查网络服务器。

【讨论】:

  • 我的 IP 没有问题,因为使用浏览器发出 httrequest 我收到的响应没有问题。这不是我第一次看到这种类型的保护,我会更好地理解它是如何工作的
猜你喜欢
  • 1970-01-01
  • 2021-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-22
  • 2012-11-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多