首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将多个请求头传递给libcurl.net

将多个请求头传递给libcurl.net
EN

Stack Overflow用户
提问于 2013-11-11 14:23:43
回答 1查看 903关注 0票数 0

最近,我开始在我的一个项目中使用libcurl.net作为HttpWebRequestHttpWebResponse类的替代品。我选择使用libcurl.net而不是托管类的原因是,libcurl.net模仿了来自PHP的cURL的行为,而我正在移植来自PHP的一些代码。我试图使用内置的托管类,但是CookieContainer类没有从我试图从网站捕获cookie的网站中正确捕获所有的cookie。如果我能够找到正确捕获cookie的方法,我可能会返回到托管类。

我的PHP脚本在捕获cookies方面非常好,所以我使用libcurl.net将大部分libcurl.net功能移植到了libcurl.net项目中。我遇到的问题是,当我必须用CURLOPT_HTTPHEADER cURL选项发送多个请求头时,我必须使用Slist数据类型来传递多个标题,如下所示:

代码语言:javascript
复制
Slist headers = new Slist();
headers.Append("Content-Type: application/x-www-form-urlencoded");
headers.Append("X-Requested-With: XMLHttpRequest");
easy.SetOpt(CURLoption.CURLOPT_HTTPHEADER, headers);

有时,我不得不伪造AJAX请求,但它似乎没有传递X-Requested-With: XMLHttpRequest头与请求,因为我正在抓取的网站不会返回这些“假”AJAX请求的任何结果。如果我设置了CURLOPT_HTTPHEADER,我需要设置Content-Type头,还是总是默认为Content-Type: application/x-www-form-urlencoded

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-14 14:00:08

结果,我正确地添加了多个标题。我只是创建了一个Slist对象,并使用CURLOPT_HTTPHEADER选项将头添加到请求中。通过这种方式,人们可以“伪造”AJAX请求或web浏览器发送的任何其他类型的请求。问题是我没有在请求中发送正确的帖子数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19908668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档