Autor | Zpráva | ||
---|---|---|---|
Chuchycek Profil |
#1 · Zasláno: 20. 2. 2013, 22:53:07
Ahoj,
už se s tím trápím celý den a za boha nemohu najít nic kloudného, co by mi pomohlo (špatně hledám), ale potřeboval bych poradit, potřebuji odeslat pomocí HTTP POST POST /webservice.asmx/InsertPerson HTTP/1.1 Host: exaple.com Content-Type: application/x-www-form-urlencoded Content-Length: length Gender=string&AgeId=string&DegreeId=string&IsDegreeCopleted=string&Email=string&DimensionId1=string&DimensionId2=string&DimensionId3=string&DimensionId4=string&DimensionId5=string&PriorityId=string na server a zpátky příjmout zpracovanou zprávu v xml. $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,"example.com/webservice.asmx?op=InsertPerson"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "POST /webservice.asmx/InsertPerson HTTP/1.1 Host: 062.988.myftpupload.com Content-Type: application/x-www-form-urlencoded Content-Length: length Gender=string&AgeId=string&DegreeId=string&IsDegreeCopleted=string&Email=string&DimensionId1=string&DimensionId2=string&DimensionId3=string&DimensionId4=string&DimensionId5=string&PriorityId=string"); curl_exec ($ch); curl_close ($ch); |
||
Majkl578 Profil |
CURLOPT_POSTFIELDS očekává buď url-encoded variantu (tj. ta varianta s
& a = ) nebo pole (které je vhodnější pokud hodnoty dosazuješ dynamicky). Mělo by to vypadat nějak takto:
$ch = curl_init('http://example.com/webservice.asmx/InsertPerson'); curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); curl_setopt($ch, CURLOPT_POSTFIELDS, array( 'Gender' => 'string', 'AgeId' => 'string', 'DegreeId' => 'string', 'IsDegreeCopleted' => 'string', 'Email' => 'string', 'DimensionId1' => 'string', 'DimensionId2' => 'string', 'DimensionId3' => 'string', 'DimensionId4' => 'string', 'DimensionId5' => 'string', 'PriorityId' => 'string' )); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); $result = curl_exec($ch); curl_close($ch); string jsou samozřejmě nějaká reálná data, předpokládám.
V $result bude výsledek, který server vrátí.
EDIT: Opravil jsem volání posledního curl_setopt. |
||
Chuchycek Profil |
#3 · Zasláno: 20. 2. 2013, 23:20:56
Jasný moc děkuji, teď už si s tím poradím :-)
|
||
Chuchycek Profil |
Ještě se mi vyskytl jeden problém vrací mi to chybovou hlášku
Warning: curl_setopt() expects exactly 3 parameters, 2 given in C:\Program Files (x86)\EasyPHP-5.3.8.0\www\mtm-carreers\zkouska.php on line 10 boolean false |
||
juriad Profil |
#5 · Zasláno: 21. 2. 2013, 10:05:11
přečti si pořádně řádek 17 a chyť se za hlavu :)
|
||
preca1 Profil |
#6 · Zasláno: 21. 2. 2013, 10:05:48
Abych nebyl úplně nekonstruktivní: http://php.net/manual/en/function.curl-setopt.php
|
||
Chuchycek Profil |
#7 · Zasláno: 21. 2. 2013, 10:07:15
Dobrý, dobrý moje chyba, zbytečně jsem zazmatkoval :-)
|
||
Majkl578 Profil |
#8 · Zasláno: 21. 2. 2013, 11:33:21
Chyba to byla původně moje, původně jsem zapomněl 1. parametr, který jsem o něco později doplnil (viz poznámku Edit). Pardon. :)
|
||
Chuchycek Profil |
#9 · Zasláno: 21. 2. 2013, 12:06:03
Dobrý, byla to moje chyba, kdybych si to pořádně prošel, tak mi to došlo :D
|
||
Časová prodleva: 11 let
|
0