Mam dość ciekawy problem, mianowicie łącząc się z API cloudflare'a, dane pobieram i ustawiam poprawnie w ich usłudze, jednakże jedynie z update'em rekordów DNS mam problem.
Normalny request i response wygląda np. tak:
Request:
* About to connect() to www.cloudflare.com port 443 (#0)
* Trying 190.93.240.253...
* Connected to www.cloudflare.com (190.93.240.253) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSL connection using ECDHE-RSA-RC4-SHA
* Server certificate:
* subject: businessCategory=Private Organization; serialNumber=4710875; 1.3.6.1.4.1.311.60.2.1.3=US; 1.3.6.1.4.1.311.60.2.1.2=Delaware; C=US; ST=California; L=San Francisco; street=655 3rd St.; OU=Internet Security and Acceleration; O=CloudFlare, Inc.; CN=www.cloudflare.com
* start
date: 2012
-12
-04 13
:37
:49 GMT
* expire
date: 2013
-12
-05 13
:37
:49 GMT
* subjectAltName: www.cloudflare.com matched
* issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign Extended Validation CA - G2
* SSL certificate verify ok.
> POST /api_json.html HTTP/1.1
Host: www.cloudflare.com
Accept: */*
Content-Length: 480
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------b6b7821d9f97
< HTTP/1.1 100 Continue
< HTTP/1.1 200 OK
< Server: cloudflare-nginx
< Date: Fri, 10 May 2013 09:47:45 GMT
< Content-Type: application/json
< Content-Length: 6925
< Connection: keep-alive
< Expires: Thu, 19 Nov 1981 08:52:00 GMT
< Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
< Pragma: no-cache
< Set-Cookie: vses={WYCIETE}; path=/; domain=.cloudflare.com; secure; HttpOnly
< Set-Cookie: CF_UALE=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT
< Vary: Accept-Encoding
< Cf-Railgun: c93c6d0bcc 0.05 0.114784 0030 0f35
< Set-Cookie: __cfduid={WYCIETE}; expires=Mon, 23-Dec-2019 23:50:00 GMT; path=/; domain=.cloudflare.com
< CF-RAY: 6c5b5b721ce00e0
<
* Connection #0 to host www.cloudflare.com left intact
Response:
stdClass Object
(
[request] => stdClass Object
(
[act] => rec_load_all
)
[response] => stdClass Object
(
[recs] => stdClass Object
(
[has_more] =>
(
[14] => stdClass Object
(
[rec_id] => {WYCIETE}
[rec_tag] => {WYCIETE}
[zone_name] => odev.pl
[name] => odev.pl
[display_name] => odev.pl
[type] => TXT
[prio] =>
[content] => content_test
[display_content] => content_test
[ttl] => 1
[ttl_ceil] => 86400
[ssl_id] =>
[ssl_status] =>
[ssl_expires_on] =>
[auto_ttl] => 1
[service_mode] => 0
[props] => stdClass Object
(
[proxiable] => 0
[cloud_on] => 0
[cf_open] => 1
[ssl] => 0
[expired_ssl] => 0
[expiring_ssl] => 0
[pending_ssl] => 0
[vanity_lock] => 0
)
)
)
)
)
[result] => success
[msg] =>
)
Natomiast w przypadku requestu update'ującego rekord DNS request wygląda jak poniżej, natomiast odpowiedzi brak.
* About to connect() to www.cloudflare.com port 443 (#0)
* Trying 141.101.123.253...
* Connected to www.cloudflare.com (141.101.123.253) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSL connection using ECDHE-RSA-RC4-SHA
* Server certificate:
* subject: businessCategory=Private Organization; serialNumber=4710875; 1.3.6.1.4.1.311.60.2.1.3=US; 1.3.6.1.4.1.311.60.2.1.2=Delaware; C=US; ST=California; L=San Francisco; street=655 3rd St.; OU=Internet Security and Acceleration; O=CloudFlare, Inc.; CN=www.cloudflare.com
* start
date: 2012
-12
-04 13
:37
:49 GMT
* expire
date: 2013
-12
-05 13
:37
:49 GMT
* subjectAltName: www.cloudflare.com matched
* issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign Extended Validation CA - G2
* SSL certificate verify ok.
* couldn't open file ""
* Connection #0 to host www.cloudflare.com left intact
Dane jakie wysyłam w celu aktualizacji:
'a' =>
string(8) "rec_edit"
'z' =>
string(7) "odev.pl"
'type' =>
string(3) "TXT"
'id' =>
string(8) "{WYCIETE}"
'name' =>
string(1) "@"
'content' =>
string(13) "content_teasd"
'ttl' =>
int(1)
'email' =>
string(12) "{WYCIETE}"
'tkn' =>
string(37) "{WYCIETE}"
}
Najciekawszą rzeczą jest, że wygląda jakby cURL chciał wysłać/pobrać jakiś plik(?) - couldn't open file "" - a przecież wysyłam array, pobieram JSON string.
ANY IDEA?