CURL gönderme veri ile sorun

2 Cevap php

Ben bu güzel ve kısa tutacağız.

Ben uzak bir forma bir değer göndermek için çalışıyorum.

This code is working perfectly:

$url = "http://eirestudio.net/blog/"; // URL to POST FORM.

$post_fields = "s=test"; 

$ch = curl_init(); // Initialize a CURL session.
curl_setopt($ch, CURLOPT_URL, $url); // Pass URL as parameter.
curl_setopt($ch, CURLOPT_POST, 1); // use this option to Post a form
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields); // Pass form Fields.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Return Page contents.
$result = curl_exec($ch); // grab URL and pass it to the variable.
curl_close($ch); // close curl resource, and free up system resources.
echo $result; // Print page contents.

But when I test it out on another domain it fails:

$url = "http://jobbank.fas.ie/servlet/Watis?SESS=50306_1&TEMPLATE=WWW_JS_VAC_TEXTSEARCH.HTM&BACK=TEMPLATE%3DWWW_JS_VAC.HTM"; // URL to POST FORM.

$post_fields = "TEXTSEARCH.JOBNAME=$search"; //

$ch = curl_init(); // Initialize a CURL session.
curl_setopt($ch, CURLOPT_URL, $url); // Pass URL as parameter.
curl_setopt($ch, CURLOPT_POST, 1); // use this option to Post a form
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields); // Pass form Fields.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Return Page contents.
$result = curl_exec($ch); // grab URL and pass it to the variable.
curl_close($ch); // close curl resource, and free up system resources.
echo $result; // Print page contents.

Kod ikinci parça ile yanlış bir şey nokta olabilir?

UPDATE: Here is an example: http://www.keithdonegan.com/labs/

UPDATE 2: Live HTTP Headers

http://www.keithdonegan.com/labs/process.php

POST /labs/process.php HTTP/1.1
Host: www.keithdonegan.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.keithdonegan.com/labs/
Cookie: __utma=168444603.2571244565690463700.1247813169.1247813169.1247813169.1; __utmb=168444603.1.10.1247813169; __utmc=168444603; __utmz=168444603.1247813169.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
Content-Type: application/x-www-form-urlencoded
Content-Length: 24
search=web&submit=Search
HTTP/1.x 200 OK
Date: Fri, 17 Jul 2009 07:02:17 GMT
Server: Apache/2.0.52 (Red Hat) PHP/4.4.7 FrontPage/5.0.2.2635
X-Powered-By: PHP/5.2.5
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
----------------------------------------------------------
http://www.keithdonegan.com/watis1.css

GET /watis1.css HTTP/1.1
Host: www.keithdonegan.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)
Accept: text/css,*/*;q=0.1
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.keithdonegan.com/labs/process.php
Cookie: __utma=168444603.2571244565690463700.1247813169.1247813169.1247813169.1; __utmb=168444603.1.10.1247813169; __utmc=168444603; __utmz=168444603.1247813169.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)
If-Modified-Since: Fri, 17 Jul 2009 06:46:20 GMT

HTTP/1.x 404 Not Found
Date: Fri, 17 Jul 2009 07:02:17 GMT
Server: Apache/2.0.52 (Red Hat) PHP/4.4.7 FrontPage/5.0.2.2635
X-Powered-By: PHP/5.2.5
X-Pingback: http://www.keithdonegan.com/xmlrpc.php
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, max-age=0
Pragma: no-cache
Last-Modified: Fri, 17 Jul 2009 07:02:17 GMT
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
----------------------------------------------------------
http://www.keithdonegan.com/pictures1/ndplogo.gif

GET /pictures1/ndplogo.gif HTTP/1.1
Host: www.keithdonegan.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.keithdonegan.com/labs/process.php
Cookie: __utma=168444603.2571244565690463700.1247813169.1247813169.1247813169.1; __utmb=168444603.1.10.1247813169; __utmc=168444603; __utmz=168444603.1247813169.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)

HTTP/1.x 404 Not Found
Date: Fri, 17 Jul 2009 07:02:17 GMT
Server: Apache/2.0.52 (Red Hat) PHP/4.4.7 FrontPage/5.0.2.2635
X-Powered-By: PHP/5.2.5
X-Pingback: http://www.keithdonegan.com/xmlrpc.php
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, max-age=0
Pragma: no-cache
Last-Modified: Fri, 17 Jul 2009 07:02:17 GMT
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
----------------------------------------------------------
http://www.keithdonegan.com/pictures1/eurologo.gif

GET /pictures1/eurologo.gif HTTP/1.1
Host: www.keithdonegan.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://www.keithdonegan.com/labs/process.php
Cookie: __utma=168444603.2571244565690463700.1247813169.1247813169.1247813169.1; __utmb=168444603.1.10.1247813169; __utmc=168444603; __utmz=168444603.1247813169.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)

HTTP/1.x 404 Not Found
Date: Fri, 17 Jul 2009 07:02:17 GMT
Server: Apache/2.0.52 (Red Hat) PHP/4.4.7 FrontPage/5.0.2.2635
X-Powered-By: PHP/5.2.5
X-Pingback: http://www.keithdonegan.com/xmlrpc.php
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, max-age=0
Pragma: no-cache
Last-Modified: Fri, 17 Jul 2009 07:02:18 GMT
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
----------------------------------------------------------

2 Cevap

Çünkü yeni bilginin başka bir cevap başladı. Ben sıkıldım ve araştırmaya karar verdi. Sizin postvars sadece TEXTSEARCH.JOBNAME var TÜM giriş alanları, içermesi gerekir. Site hepsini gerektiren veya şablon sayfaya geri varsayılan gerekir.

bu yüzden:

$search = 'plumber';
$post_fields = "TEXTSEARCH.JOBNAME=$search";

$post_fields .="&REQUEST.WWW_JS_VAC_TEXTSEARCH=Search";
$post_fields .="&TEXTSEARCH.DESCRIPTION= &TEXTSEARCH.LOCATION=";

Eğer bunu böyle doldurun eğer, o zaman "arama x sonuçlar aldım" falan gibi bir şey içeren bir yanıt alırsınız

Curopt_postfields içindeki tüm sonrası args geçen deneyin. Siz url bazı geçiyoruz

$url = "http://jobbank.fas.ie/servlet/Watis";
$post_fields = "TEXTSEARCH.JOBNAME=$search&SESS=50306_1&TEMPLATE=WWW_JS_VAC_TEXTSEARCH.HTM&BACK=TEMPLATE%3DWWW_JS_VAC.HTM";