Php Curl和gotomeeting.com
我正在尝试使用PHP Curl来自动注册 根据人们所做的更正,我使用的是:Php Curl和gotomeeting.com,php,curl,Php,Curl,我正在尝试使用PHP Curl来自动注册 根据人们所做的更正,我使用的是: <? $array=array( 'Name_First'=>'Steve', 'Name_Last'=>'Jobs', 'Email'=>'steve@jobs.com', 'Template'=>'island/webinar/registration.tmpl', 'Form'=>'webinarRegistrationForm',
<?
$array=array(
'Name_First'=>'Steve',
'Name_Last'=>'Jobs',
'Email'=>'steve@jobs.com',
'Template'=>'island/webinar/registration.tmpl',
'Form'=>'webinarRegistrationForm',
'WebinarKey'=>'432624022',
'ViewArchivedWebinar'=>'false',
'registrant'=>'',
'RegistrantTimeZoneKey'=>'55',
);
function dump($logArray) {
echo '<pre>';
print_r($logArray);
echo '</pre>';
}
function go2webinar($array){
$url='https://www3.gotomeeting.com/en_US/island/webinar/registration.flow';
$url1='https://www3.gotomeeting.com/register/432624022';
$cookie='/therightpath/cookie';
$query=http_build_query($array);
$c=curl_init();
curl_setopt($c,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1');
curl_setopt($c,CURLOPT_URL,$url);
curl_setopt($c, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($c,CURLOPT_POST,count($array));
curl_setopt($c,CURLOPT_POSTFIELDS,$query);
curl_setopt($c,CURLOPT_RETURNTRANSFER,1);
curl_setopt($c, CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($c, CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($c, CURLOPT_COOKIEFILE,$cookie);
curl_setopt($c, CURLOPT_COOKIEJAR,$cookie);
curl_setopt($c, CURLOPT_REFERER,$url1);
$r=curl_exec($c);//result
dump(curl_getinfo($c));
if(curl_errno($c)) return curl_error($c);
else{
curl_close($c);
return trim($r);
}
}
//GotoMeeting
echo go2webinar($array);
然而,我现在得到了一个“网络研讨会不可用”页面…这是工作脚本,我把它写得太硬了,但是你应该知道什么不起作用
curl\u setopt($c,CURLOPT\u FOLLOWLOCATION,1)代码>
curl_setopt($c,CURLOPT_USERAGENT,'Mozilla/5.0(windowsnt 6.1;WOW64;rv:9.0.1)Gecko/20100101 Firefox/9.0.1')代码>
$url='ww3.gotomeeting.com/en_US/island/webinar/registration.flow'代码>
不是$url1='www3.gotomeeting.com/register/432624022'代码>
使用$url1作为推荐人
$query=“Template=island%2Webinar%2Registration.tmpl&Form=webinarRegistrationForm&WebinarKey=432624022&ViewArchiveWebinar=false®istrant=&RegistrantTimeZoneKey=55&Name\u First=BobS&Name\u Last=GnomW&Email=asas%40cc.com&RegistrantTimeZoneKey=55”
函数curlit(){
$url='1https://www3.gotomeeting.com/en_US/island/webinar/registration.flow';
$url1=$https://www3.gotomeeting.com/register/432624022';
$mypath=getcwd();
$mypath=preg\u replace(“/\/”、“/”、$mypath);
$cookie=“$mypath/cookie.txt”;
$query=“Template=island%2Webinar%2Registration.tmpl&Form=webinarRegistrationForm&WebinarKey=432624022&ViewArchiveWebinar=false®istrant=&RegistrantTimeZoneKey=55&Name\u First=BobS&Name\u Last=GnomW&Email=asas%40cc.com&RegistrantTimeZoneKey=55”;
$c=curl_init();
curl_setopt($c,CURLOPT_USERAGENT,'Mozilla/5.0(windowsnt 6.1;WOW64;rv:9.0.1)Gecko/20100101 Firefox/9.0.1');
curl_setopt($c,CURLOPT_URL,$URL);
curl_setopt($c,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($c,CURLOPT_POST,count($array));
curl_setopt($c,CURLOPT_POSTFIELDS,$query);
curl_setopt($c,CURLOPT_RETURNTRANSFER,1);
curl_setopt($c,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($c,CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($c,CURLOPT_COOKIEFILE,$cookie);
curl_setopt($c,CURLOPT_COOKIEJAR,$cookie);
curl_setopt($c,CURLOPT_REFERER,$url1);
$r=curl_exec($c);//结果
转储(curl_getinfo($c));
if(curl_errno($c))返回curl_error($c);
否则{
收尾费($c);
返回修剪($r);
}
}
函数转储($logArray){
回声“;
打印(logArray);
回声“;
}
//GotoMeeting
卷曲();
?>
这是工作脚本,我把它编得太硬了,但是你应该知道什么不工作
curl\u setopt($c,CURLOPT\u FOLLOWLOCATION,1)代码>
curl_setopt($c,CURLOPT_USERAGENT,'Mozilla/5.0(windowsnt 6.1;WOW64;rv:9.0.1)Gecko/20100101 Firefox/9.0.1')代码>
$url='ww3.gotomeeting.com/en_US/island/webinar/registration.flow'代码>
不是$url1='www3.gotomeeting.com/register/432624022'代码>
使用$url1作为推荐人
$query=“Template=island%2Webinar%2Registration.tmpl&Form=webinarRegistrationForm&WebinarKey=432624022&ViewArchiveWebinar=false®istrant=&RegistrantTimeZoneKey=55&Name\u First=BobS&Name\u Last=GnomW&Email=asas%40cc.com&RegistrantTimeZoneKey=55”
函数curlit(){
$url='1https://www3.gotomeeting.com/en_US/island/webinar/registration.flow';
$url1=$https://www3.gotomeeting.com/register/432624022';
$mypath=getcwd();
$mypath=preg\u replace(“/\/”、“/”、$mypath);
$cookie=“$mypath/cookie.txt”;
$query=“Template=island%2Webinar%2Registration.tmpl&Form=webinarRegistrationForm&WebinarKey=432624022&ViewArchiveWebinar=false®istrant=&RegistrantTimeZoneKey=55&Name\u First=BobS&Name\u Last=GnomW&Email=asas%40cc.com&RegistrantTimeZoneKey=55”;
$c=curl_init();
curl_setopt($c,CURLOPT_USERAGENT,'Mozilla/5.0(windowsnt 6.1;WOW64;rv:9.0.1)Gecko/20100101 Firefox/9.0.1');
curl_setopt($c,CURLOPT_URL,$URL);
curl_setopt($c,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($c,CURLOPT_POST,count($array));
curl_setopt($c,CURLOPT_POSTFIELDS,$query);
curl_setopt($c,CURLOPT_RETURNTRANSFER,1);
curl_setopt($c,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($c,CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($c,CURLOPT_COOKIEFILE,$cookie);
curl_setopt($c,CURLOPT_COOKIEJAR,$cookie);
curl_setopt($c,CURLOPT_REFERER,$url1);
$r=curl_exec($c);//结果
转储(curl_getinfo($c));
if(curl_errno($c))返回curl_error($c);
否则{
收尾费($c);
返回修剪($r);
}
}
函数转储($logArray){
回声“;
打印(logArray);
回声“;
}
//GotoMeeting
卷曲();
?>
尝试使用curl_setopt($c,CURLOPT_FOLLOWLOCATION,1);还可以使用篡改数据来检查实际的查询参数,我看到的比您试图发布的更多,$query=“Template=island%2Fwebinar%2Fregistration.tmpl&Form=webinarRegistrationForm&WebinarKey=432624022&ViewArchiveWebinar=false®istrant=&RegistrantTimeZoneKey=55&Name_First=BobS&Name_last=GnomW&email=ass%40cc.com&RegistrantTimeZoneKey=55”;这是你参考的一个屏幕截图。你检查过cookies文件是否真的被写入了吗?使用我的脚本作为参考,它可以工作..你应该发布到$url='';不是$url1='';使用$url1作为参考。尝试使用curl_setopt($c,CURLOPT_FOLLOWLOCATION,1);还可以使用篡改数据检查实际的查询参数,我看到的比您试图发布的更多,$query=“Template=island%2Fwebinar%2Fregistration.tmpl&Form=webinarRegistrationForm&WebinarKey=432624022&ViewArchiveWebinar=false®
# Netscape HTTP Cookie File
# http://curl.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.
.gotomeeting.com TRUE / TRUE 1371763493 g2mVisitor FirstVisit%3D1340218507523%26LastVisit%3D1340227493492%26RSN%3DDEFAULT
www3.gotomeeting.com FALSE / TRUE 0 g2mSession SessionInfo%3D200000000139397572%253A2B00BFBA6275B45
www3.gotomeeting.com FALSE / FALSE 0 JSESSIONID abc6tY1HKr4Hh9l-3plGt
function curlit(){
$url = 'https://www3.gotomeeting.com/en_US/island/webinar/registration.flow';
$url1='https://www3.gotomeeting.com/register/432624022';
$mypath = getcwd();
$mypath = preg_replace('/\\\\/', '/', $mypath);
$cookie = "$mypath/cookie.txt";
$query="Template=island%2Fwebinar%2Fregistration.tmpl&Form=webinarRegistrationForm&WebinarKey=432624022&ViewArchivedWebinar=false®istrant=&RegistrantTimeZoneKey=55&Name_First=BobS&Name_Last=Gnoomw&Email=asas%40cc.com&RegistrantTimeZoneKey=55";
$c=curl_init();
curl_setopt($c,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0.1) Gecko/20100101 Firefox/9.0.1');
curl_setopt($c,CURLOPT_URL,$url);
curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($c,CURLOPT_POST,count($array));
curl_setopt($c,CURLOPT_POSTFIELDS,$query);
curl_setopt($c,CURLOPT_RETURNTRANSFER,1);
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($c, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($c, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($c, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($c, CURLOPT_REFERER, $url1);
$r=curl_exec($c);//result
dump(curl_getinfo($c));
if(curl_errno($c)) return curl_error($c);
else{
curl_close($c);
return trim($r);
}
}
function dump($logArray) {
echo "<pre>";
print_r($logArray);
echo "</pre>";
}
//GotoMeeting
curlit();
?>