2015-02-06 173 views
0

我已经查找了如何在PHP中使用cURL,但在所有示例中,它都会要求提供发布信息。在我想要登录的目标网站中,它具有这些标题。有没有办法用cURL登录到这个网站?cURL使用PHP登录

POST //Login.aspx?t=tAagdOpCKVbBZJICqxicOwGO3g5%2fDqQ9HvthBEckSU%2fRd5lEPDasJELARgr2txnB12tfPnVvJSF1BasxQhlzbQ%3d%3d HTTP/1.1 主机:awebsite.com 接受:text/html的,应用/ XHTML + xml的,应用/ XML; q = 0.9,image/webp,/; q = 0.8 Accept-Encoding:gzip,deflate Accept-Language:tr-TR,tr; q = 0.8,en-US; q = 0.6,en; q = 0.4 Content-Type:application/x-www-form-urlencoded Cookie:__qca = P0-1236052332-1411314388865; ASP.NET_SessionId = 2lhdwlfafvc4mrt1leqofp4p; __utma = 219632280.2029473779.1403506413.1419763928.1419764926.556; __utmc = 219632280; __utmz = 219632280.1419764926.556.7.utmcsr =谷歌| utmccn =(有机)| utmcmd =有机| utmctr =(未%20provided); __utma = 94244052.918496071.1403626522.1419678978.1419763934.203; __utmb = 94244052.500.10.1419763934; __utmc = 94244052; __utmz = 94244052.1419763934.203.181.utmcsr = awebsite.com | utmccn =(引荐)| utmcmd =转诊| utmcct =/ 产地:http://awebsite.com 的Referer:http://awebsite.com/Default.aspx 的User-Agent:Mozilla的/ 5.0(Windows NT的6.1)为AppleWebKit/537.36( KHTML,像壁虎)的Chrome/Safari浏览器39.0.2171.95/537.36

+0

@凯文布朗,遗憾的是没有。正如您在标题中看到的那样,没有用于发送的用户名和密码字段。只有“t”和一些编码的东西。 – Guney 2015-02-06 23:30:13

+0

请你可以复制每一行的标题行,这很难阅读。 – Mubin 2015-02-06 23:34:16

回答

1

您的网址是:http://awebsite.com/Login.aspx?t=tAagdOpCKVbBZJICqxicOwGO3g5%2fDqQ9HvthBEckSU%2fRd5lEPDasJELARgr2txnB12tfPnVvJSF1BasxQhlzbQ%3d%3d

没有发布数据。有饼干和内容类型。如果内容类型不是x-www-form-urlencoded,那么我使用的一些API会拒绝请求,但这些Google分析Cookie可能是不必要的。

查看setopt函数的cURL文档。 http://php.net/manual/de/function.curl-setopt.php

如果您尝试测试请求,也可以使用bash中的curl。

+0

链接上不是“t”变量是发布数据吗?我试图理解它,但还没有弄清楚。 – Guney 2015-02-06 23:44:53

+0

不,它也是查询字符串,因为POST在空行后面开始,如: POST /任何路径?with&any = param HTTP/1.1 主机:host.com 内容类型:application/x-www-form- urlencoded 内容长度:24 postBegins = here&isUrlencoded = true – Aitch 2015-02-06 23:55:25