2011-12-04 3 views
-3

ウェブサイトhttps://www.openbux.com/は、わずか1日後または1セッション後にクッキーを有効期限切れにします。PHP - このようなウェブサイトのcURL?

cURLをPHPで使用してログインを取得し、Cookieの有効期限を変更する方法はありますか?たとえば、1年間ですか?

そして、私はCAPTCHAでcURLを使うのに問題があります。そのための解決策はありますか?

私はその

<? 
    $cookie_file_path = "C:\path\to\save\cookie.txt"; 

    $agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 Firefox/6"; 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL,"http://www.example.com/target.php"); 
    curl_setopt($ch, CURLOPT_USERAGENT, $agent); 
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path); 
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path); 
    curl_setopt($ch, CURLOPT_REFERER, "http://www.google.com"); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

    //Do not print anything now. 
    //curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
    curl_setopt($ch, CURLOPT_HEADER, 1); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, "login_username=XXXXX&passWord=YYYYY"); 

    $html = curl_exec($ch); 
    var_dump(urlencode($html)); 

    curl_close(); 
?> 

のようなものを使用する必要がありますが、私はCAPTCHAでこれを使用することはできません...そして、私はそのログインフォームので、日付 を送信するために、ターゲットURLを持っていない知っています私はので、私は任意のURLにaction=""ではありません

<form action="" method="post"> 
    <input type="hidden" name="token" value="23cc81bca35588e5356bf07a1bb4e04538304e41" /> 
    <fieldset><h1>Please log in<a href="javascript:void(0);" onclick="showK();" title="Show keyboard"><img src="images/keyboard.png" style="float: right; margin-right: 12px; margin-top: 4px;" alt="Show keyboard" border="0"></a></h1> 
    <div class="formular"> 
     <span class="formular_top"></span> 
     <div class="formular_inner"> <span><a href="reset" class="lost">Lost Password?</a></span> 
      <label> <strong>Username:</strong><span class="input_wrapper"> <input name="login_username" id="login_username" type="text" onfocus="text=this" value="" /> </span> </label> 
      <label> <strong>Password:</strong> <span class="input_wrapper"> <input name="login_password" id="pwd" onfocus="text=this" type="password" /> </span> </label> 
      <label> <strong>Verification Code:</strong> <span class="input_wrapper" style="width: 49px; float: right; margin-left: 8px; background: url(images/login/input_small.gif) no-repeat;"> <input name="code" type="text" maxlength="4" onfocus="text=this" style="text-transform: uppercase;" /> </span> 
      <img src="captcha.jpg" height="22" alt="captcha" style="float: right;" /> </label> 
      <input type="hidden" name="7" value="Israel" /> 
      <ul class="form_menu"><li><span class="button"><span><span><em>SUBMIT</em></span></span> 
      <input type="submit" name="Login2" value="Login" /> 

この

のように、ここ https://www.openbux.com/login からそれを得ました。私の長い日付のクッキーファイルで自動的にログインすることができるPHPのcURLスクリプトは可能ですか?

答えて

2

cookiejarファイルを作成した後、手動で編集することができます。また、Firefoxのようなブラウザでログインし、ブラウザのCookieウィンドウからCookiejarファイルにCookieデータをコピーすることもできます。あなたは正しい形式に変換する必要があります。

キャプチャについては、captcha.jpgのリクエストを送信してファイルに書き込んだり、ブラウザに出力して解決してから、CURLOPT_POSTFIELDSに回答を追加してください。

+0

「ブラウザのCookieのウィンドウからCookiejarのファイルにCookieのデータをコピーする」方法 –

0

プログラマブルな回答が必要だと知っていますが、一般に、サイトがcaptchaを使用している場合は、実際にログインを自動化してサイトで使用するための情報を取得したくないという良い兆候です。

しかし正当な理由がある場合は、他のサイトのオペレータに連絡して、リモートログイン用のAPIを持っているかどうかを尋ねるか、そうでなければ動作するかどうかを尋ねるのが最も簡単です必要なデータを提供することができます。

私の2セントです。

関連する問題