it-swarm.com.de

wp_remote_get funktioniert nicht mit sicheren Verbindungen https?

Ich frage die Twitter-API ab, wenn ich die nicht sichere Verbindung http: // verwende. Es funktioniert kein wp_error (aber Twitter überschreitet den Grenzwertfehler). Wenn ich jedoch https: // verwende, kann ich den json und den xml sehen formatiert, aber es gibt einen Fehler mit wp_remote_get, ich habe versucht, ein zweites Argument-Array zu verwenden ('sslverify' => false) und es funktioniert auch nicht?

mache ich also etwas falsch oder funktioniert wp_remote_get nicht mit https?

hier ist der Code:

$response = wp_remote_get('https://Twitter.com/statuses/user_timeline/$username.json');
if ( is_wp_error($response) ) {
echo 'wp error';
}

wenn ich http wie diese url benutze

wp_remote_get('http://api.Twitter.com/1/statuses/user_timeline.json?screen_name=$username');

es funktioniert ohne den fehler.

Ich habe wp_remote_get auch auf anderen Apis ausprobiert, aber immer wenn https verwendet wird, funktioniert es nicht.

danke im Voraus.

BEARBEITEN:

Ich erhalte dies von var_dump ($ response):

wp errorobject(WP_Error)#359 (2) { ["errors"]=> array(1) { ["http_request_failed"]=> array(1) { [0]=> string(146) "SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed" } } ["error_data"]=> array(0) { } }

und nach array('sslverify' => false) bekomme ich von var_dump ($ response)

wp errorobject(WP_Error)#359 (2) { ["errors"]=> array(1) { ["http_request_failed"]=> array(1) { [0]=> string(23) "Empty reply from server" } } ["error_data"]=> array(0) { } } 
4
Pierre

Ok, habe gerade bemerkt, dass Sie die URL in einfache Anführungszeichen setzen, damit die Variable $username nicht interpretiert wird. Versuchen Sie dies stattdessen:

wp_remote_get('https://Twitter.com/statuses/user_timeline/'. $username .'.json');

Oder verwenden Sie doppelte Anführungszeichen anstelle von einfachen.

3
shabushabu