如何在https页面异步请求http地址

2025-04-24 00:54:01
推荐回答(1个)
回答1:

存在一些固定的键值对;很多人经常搞不清楚这些协议头到底是否必须要?是否必须和浏览器
提交时抓去到的一模一样去提交?
要回答这2个问题,一是需要对HTTP协议有一个简单了解,二是要根据具体应用进行分析;
如:Accept参数,细心一点就会发现请求页面时可能为 text/html 请求图片时就为image/jpeg
当然根据系统环境,还有Application/xml一类等。 那么你需要根据需求………
又比如:user-Agent参数,很明显里面包含的是系统类型与浏览器类型,假设你需要伪造!!
还有如:Accept-Encoding参数,如果大家在使用HttpWebRequest请求网页时也添加了如上图的 Accept-Encoding参数,那自己会很杯具的发现,请求回来的内容需要先gzip解压;该怎么做你应该知道了!!
类似上面提交的三种情况,我们需要的就是经验和灵活应用,作为开发者,我们的优势是可以换位
以一个开发者的角度来思考问题:比如我是否会通过Http Header中的Referer参数头来判断访问者
来路,是否允许它请求;

我的做法就是简单、简单、简单:
StringBuilder bulider = new StringBuilder();
bulider.AppendLine("POST /user/pass_request HTTP/1.1");
bulider.AppendLine("Host: www.*.com");
bulider.AppendLine("User-Agent: Mozilla/5.0 (Windows NT 6.1; IE 9.0)");
bulider.AppendLine("Accept: text");
bulider.AppendLine("Content-Type: application/x-www-form-urlencoded");
bulider.AppendLine(string.Format("Content-Length: {0}\r\n", Encoding.Default.GetBytes(strPost).Length));
bulider.Append(strPost);
需要补充的是Post操作时必须包含Content-Type: application/x-www-form-urlencoded参数;

2、HTTP与HTTPS的区别?
HTTPS相比HTTP是一种安全可靠的连接,打开一个HTTPS连接,我们会发现浏览器都会有相应的提示, 类似这样的,可以通过点击其图标查看安全状态和证书;
那么我们用HttpWebRequest操作HTTPS和HTTP时有什么区别或者不一定的地方呢?
其实大部分地方都是一样的,很多网站在服务器段并没有做非常严格的限制和配置,在做HTTPS操作时甚至不需要添加证书,但是如果遇到必须要使用证书的,那就需要指定HttpWebRequest的Credentials属性;
关于这一点就不详解了,有兴趣的可以关注下苏飞的文章http://www.cnblogs.com/sufei/archive/2011/10/22/2221289.html
另外关注HttpWebRequest操作HTTPS的文章网上也较多,大家可自行搜索!