cURL Proxy HTTPS Seite

04/24/2015 17:23 Mr.Tr33#1
Hallo,

weiß jemand wie ich via cURL in PHP mit einem HTTP Proxie auf eine HTTPS Seite komme?
Manuel mit z.B. FoxyProxy funktioniert es. Mit cURL bekomme ich es nicht hin.

Und ja, ich habe schon CURLOPT_SSL_VERIFYPEER und CURLOPT_SSL_VERIFYHOST auf false bzw. 0 gesetzt :D

MfG
Mr.Tr33
04/24/2015 18:41 Menan#2
Meine CURL Settings hierfür sind:

Code:
        'CURLOPT_VERBOSE' => 0,
        'CURLOPT_SSL_VERIFYPEER' => false,
        'CURLOPT_SSL_VERIFYHOST' => false,
        'CURLOPT_SSLVERSION' => 4,
        'CURLOPT_RETURNTRANSFER' => 1,
        'CURLOPT_POST' => 1,
        'CURLOPT_HTTP_VERSION' => CURL_HTTP_VERSION_1_1,
Wichtig ist, dass du die richtige SSL Version angibst, sonst funktioniert das Ganze nicht ;)
04/24/2015 19:21 Mr.Tr33#3
Das darfst du mir jetzt erst einmal näher erklären :D
Woher bekomme ich die SSL Version?
04/25/2015 09:48 Menan#4
Es gibt 6 Möglichkeiten zur Auswahl.
Auszug aus der PHP Docu:
PHP Code:
CURL_SSLVERSION_DEFAULT -> 0
CURL_SSLVERSION_TLSv1 -> 1
CURL_SSLVERSION_SSLv2 -> 2
CURL_SSLVERSION_SSLv3 -> 3
CURL_SSLVERSION_TLSv1_0 -> 4
CURL_SSLVERSION_TLSv1_1 -> 5
CURL_SSLVERSION_TLSv1_2 -> 6. 
Wenn du jetzt eine Seite aufrust und dort Rechtsklick -> Seiteninformationen machst, bekommst du folgendes Fenster (Beispiel paypal):

[Only registered and activated users can see links. Click Here To Register...]

Dem zufolge nutzt PayPal TLS1.2, somit muss deine gesetzte SSL-Version den Wert 6 haben.
Falls dies nicht geht, kannst du einfach 0 - 6 probieren, mit irgendeinem Wert geht das schon :P (aber die Info über die Seite sollten passen).

Wichtig für dich, könnte noch die
Code:
CURLOPT_HTTPPROXYTUNNEL
Option sein, da musst mal in die PHP Doku schauen.

Gruß,
menan
05/10/2015 15:49 Mr.Tr33#5
Danke, habe es mal ausprobiert aber das geht leider nicht mit jeder Seite :(
Ich bin jetzt von HTTP Proxies auf SOCKS5 umgestiegen.

Ich habe z.B. folgende Seite: [Only registered and activated users can see links. Click Here To Register...]
Diese Seite benutzt die Version 1.2

Ich bekomme leider immer eine leere Seite bzw. String wieder.
Eine Idee wie ich über den HTTPS Link auf die Seite komme?
05/11/2015 20:04 Mr.Tr33#6
Zum testen benutze ich jetzt einen eigenen Proxy Server CCProxy (kostenlos). Dafür muss man nur den Port 1080 freischalten.

Am folgendem Code bin ich am verzweifeln: [Only registered and activated users can see links. Click Here To Register...]
05/11/2015 23:08 Shawak#7
Bei mir gehts

Code:
<?php

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, '<url>');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_PROXY, '192.41.140.67:8080');
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);

$response = curl_exec($ch);
if($response !== false) {
        echo $response;
}
else {
        echo curl_error($ch);
}
05/12/2015 01:16 Mr.Tr33#8
Wie im Post erwähnt benutze ich ein SOCKS5 Proxy.
05/12/2015 01:51 Shawak#9
Funktioniert bei mir auch

Code:
curl_setopt($ch, CURLOPT_PROXY, '123.58.183.141:1080'); //'192.41.140.67:8080');
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); //CURLPROXY_HTTP);
05/12/2015 09:38 Mr.Tr33#10
Auf einer HTTPS Seite mit TLS 1.2?
05/12/2015 10:33 Devsome#11
Neustes cURL drauf ?
Erst mit curl-7.29.0-16.el7 ist tlsv1.2 hinzugekommen
05/12/2015 11:08 Mr.Tr33#12
Ja, TSL 1.2 gibt es bzw. die Variable. Ich komme einfach nicht auf die Seite drauf die das benutzt.
05/12/2015 11:15 Devsome#13
Dann wäre nur noch die Option, dass du @Shawak die Adresse nennst und er probiert es.
05/12/2015 12:23 Mr.Tr33#14
Steht im Post #5 und im Link von Post #6 >.>
05/12/2015 19:40 Shawak#15
Ich habe bei meinem Beispiel deine angegebene Adresse verwendet.

Wie gesagt, bei mir funktioniert es problemlos.