我尝试了很多教程,但都失败了,我知道对于有经验的用户来说,无论如何都可能很明显,无论如何。
这是我的脚本,它只返回空表单而不是我的POST搜索: (我使用篡改数据来获取后变量,我也使用https)
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.shab.ch/shabforms/COMMON/application/applicationGrid.jsp?template=1&view=2&page=/COMMON/search/searchForm.jsp?MODE=SHAB');
curl_setopt($ch, CURLOPT_POSTFIELDS,'KEYWORDS=&NOTICE_NR=&TIMESPAN=TODAY&STAT_TM_1=&STAT_TM_2=&SELTYPE=HR&TYPE_CD_AW=&TYPE_CD_AN=&TYPE_CD_BL=&TYPE_CD_VM=&TYPE_CD_HR=HR01&LEGAL_FORM_NR_HR=&FIRM_ID_HR=&HR_CANTON_AG=ON&HR_CANTON_BE=ON&TYPE_CD_IS=&TYPE_CD_KK=&YN_KK=&TYPE_CD_IP=&TYPE_CD_NA=&YN_NA=&TYPE_CD_SB=&YN_SB=&TYPE_CD_SR=&FIRM_NAME_TX_UP=&FIRM_CITY_TX_UP=&command=Recherchieren');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_REFERER,"https://www.shab.ch/shabforms/COMMON/application/applicationGrid.jsp?template=1&view=2&page=/COMMON/search/searchForm.jsp%3Fcategory%3DHR");
curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3");
$result = curl_exec($ch);
echo $result;
奇怪地已写入my_cookies.txt
www.shab.ch FALSE /shabforms FALSE 0 JSESSIONID E884A3B4187C68253CEEBCD58E7E934E
www.shab.ch FALSE / FALSE 1287673522 BC_HA_C30B29681466613B 131BDF
有什么问题? :)
更新: 好的,我收到了错误。它与后网址有关。网站上的脚本似乎是通过ajax进行的,...而不更改要发送的网址(我甚至无法在篡改数据中找到正确的网址!!)。 幸运的是,我可以想出来,它的“shabforms / servlet / web / DocumentSearch”。
现在它有效,thx
答案 0 :(得分:0)
我刚刚运行了这个脚本,并在$ result中保存了一个德语网站。
也许你的卷曲设置需要tweeking?你有没有与其他网站合作?
答案 1 :(得分:0)
它与post-url有关。网站上的脚本似乎是通过ajax进行的,...而不更改要发送的网址(我甚至无法在篡改数据中找到正确的网址!!)。幸运的是,我可以想出来,它的“shabforms / servlet / web / DocumentSearch”。
现在它有效,thx