Het is de bedoeling dat ik verbinding maakt met een server en vervolgens xml naar toe POST (en direct weer terug krijg, maar dat is latere zorg). Nou had ik het ook al verschillende manieren geprobeert om verbinding te maken met deze server. Met o.a. XML-RPC, SOAP, maar dat bleken toch al niet de juiste connectie optie te zijn, want het moet gewoon simpel via POST.
Dus ik nu ben ik het met cURL aan het proberen. En daar is tot nu toe het onderstaande script uitgekomen, maar het enigste wat het nog terug geeft is een "HTTP/1.1 401 Access Denied"-pagina. Dus de aanmelding gaat niet goed.
Volgens mij moet ik die domeinnaam ook nog mee sturen, maar hoe doe ik dat?
Zelf ook even een klein script je geschreven dat via php een http authentication neerzet en daar kom ik gewoon binnen.
Ook heb ik het geprobeert door bij er zelf headers bij te gooien:
Maar dat werkte ook niet (wel op het test script).
Verder ook al lopen zoeken op het forum en google, wel soort gelijke problemen tegen gekomen maar deze waren al met http authentication opgelost. Ik moet blijkbaar nog een extra (domain) optie toevoegen, welke weet ik alleen niet. En de mensen van de andere server heb ik ook al om hulp gevraagd, maar die waren niet erg hulpzaam. Iemand hier hopelijk wel.
"mijn" server maakt gebruik van:
php 5.0.4
libcurl/7.13.1 OpenSSL/0.9.7f zlib/1.2.2.2 libidn/0.5.15
De server waarmee ik verbinding maak is:
onbekend, maar werkt met ASP en IIS
Dus ik nu ben ik het met cURL aan het proberen. En daar is tot nu toe het onderstaande script uitgekomen, maar het enigste wat het nog terug geeft is een "HTTP/1.1 401 Access Denied"-pagina. Dus de aanmelding gaat niet goed.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| $url = 'http://127.0.0.1'; $server = '/test.php'; $username = 'username'; $password = 'password'; $domain = 'domeinnaam\'.$username; $request = '<xml>..blaat...</xml>'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url.$server); curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);//CURLAUTH_BASIC curl_setopt($ch, CURLOPT_USERPWD, "$username:$password"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 4); curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'POST'); $data = curl_exec($ch); if (curl_errno($ch)) { print curl_error($ch); } else { curl_close($ch); echo $data; //returns <xml>...</xml> } |
Zelf ook even een klein script je geschreven dat via php een http authentication neerzet en daar kom ik gewoon binnen.
Ook heb ik het geprobeert door bij er zelf headers bij te gooien:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| //zelfde als vorige script maar dan dit er tussen gepropt //eerst de header maken $header[] = "Authorization: Basic ".base64_encode("$username:$password"); $header[] = "Host: $domain";// of $url.$server neerzetten $header[] = "MIME-Version: 1.0"; $header[] = "Content-type: multipart/mixed; boundary=----doc"; $header[] = "Accept: text/xml"; $header[] = "Content-length: ".strlen($request); $header[] = "Cache-Control: no-cache"; $header[] = "Connection: close \r\n"; $header[] = $request; //en dan daadwerkelijk opsturen curl_setopt($ch, CURLOPT_HTTPHEADER, $header); |
Maar dat werkte ook niet (wel op het test script).
Verder ook al lopen zoeken op het forum en google, wel soort gelijke problemen tegen gekomen maar deze waren al met http authentication opgelost. Ik moet blijkbaar nog een extra (domain) optie toevoegen, welke weet ik alleen niet. En de mensen van de andere server heb ik ook al om hulp gevraagd, maar die waren niet erg hulpzaam. Iemand hier hopelijk wel.
"mijn" server maakt gebruik van:
php 5.0.4
libcurl/7.13.1 OpenSSL/0.9.7f zlib/1.2.2.2 libidn/0.5.15
De server waarmee ik verbinding maak is:
onbekend, maar werkt met ASP en IIS
It was that kind of a crazy afternoon, terrifically cold, and no sun out or anything, and you felt like you were disappearing every time you crossed a road.
If it weren't for Carbon-14, I wouldn't date at all.