Μετάβαση σε: Μεταφορές#
package main
import (
"fmt"
"io"
"net/http"
"net/url"
"time"
)
func main() {
proxyURL, _ := url.Parse("http://USER-cc-us:PASS@res.proxy-cyber.com:9000")
client := &http.Client{
Timeout: 45 * time.Second,
Transport: &http.Transport{
Proxy: http.ProxyURL(proxyURL),
DisableKeepAlives: true, // new connection = new exit on the rotating gateway
},
}
resp, err := client.Get("https://api.ipify.org")
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}Η επαναχρησιμοποίηση σύνδεσης και η εκχώρηση είναι διαφορετικά στοιχεία ελέγχου. Μια περίοδος λειτουργίας υπολογιστή-πελάτη χρησιμοποιεί ξανά τις υποδοχές, μόνο η πύλη που έχει ανατεθεί καθορίζει την περιστροφή και τη συμπεριφορά της συνεδρίας Χρησιμοποιήστε τις παραμέτρους περιόδου λειτουργίας που παρέχονται με την υπηρεσία σας και επιβεβαιώστε την έξοδο σε πολλά αιτήματα. Το κλείσιμο μιας υποδοχής ή η αποστολή του μηνύματος δεν εγγυάται διαφορετική διεύθυνση IP Ο χρήστης μπορεί να επιλέξει ένα από τα δύο παρακάτω:
Μετάβαση: επιλογή του διακομιστή proxy ανά αίτημα#
tr := &http.Transport{
Proxy: func(r *http.Request) (*url.URL, error) {
sid := r.Header.Get("X-Session") // your own hint, never sent to the proxy
r.Header.Del("X-Session")
return url.Parse(fmt.Sprintf("http://USER-cc-de-sid-%s-ttl-10m:PASS@res.proxy-cyber.com:9000", sid))
},
}Πηγαίνετε:#
import "golang.org/x/net/proxy"
dialer, err := proxy.SOCKS5("tcp", "res.proxy-cyber.com:9001", &proxy.Auth{User: "USER-cc-us", Password: "PASS"}, proxy.Direct)
if err != nil { panic(err) }
tr := &http.Transport{Dial: dialer.Dial}
client := &http.Client{Transport: tr, Timeout: 45 * time.Second}PHP: κωδικός πρόσβασης#
<?php
$ch = curl_init("https://api.ipify.org");
curl_setopt_array($ch, [
CURLOPT_PROXY => "http://res.proxy-cyber.com:9000",
CURLOPT_PROXYUSERPWD => "USER-cc-us:PASS",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CONNECTTIMEOUT => 15,
CURLOPT_TIMEOUT => 45,
CURLOPT_FORBID_REUSE => true, // new exit per call on the rotating gateway
]);
echo curl_exec($ch);
// SOCKS5 with remote DNS
curl_setopt($ch, CURLOPT_PROXY, "res.proxy-cyber.com:9001");
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5_HOSTNAME);Πρότυπο:Προσωπικά δεδομένα#
<?php
use GuzzleHttp\Client;
$sticky = "http://USER-cc-de-city-berlin-sid-cart42-ttl-15m:PASS@res.proxy-cyber.com:9000";
$client = new Client(['proxy' => $sticky, 'timeout' => 45, 'connect_timeout' => 15]);
$r = $client->get('https://api.ipify.org');
echo $r->getBody();Κατάλογος ελέγχου#
- Χρησιμοποιήστε ένα ξεχωριστό αναγνωριστικό περιόδου λειτουργίας για κάθε ανεξάρτητη ροή εργασίας, όπου η πύλη που σας έχει εκχωρηθεί το υποστηρίζει. Επιβεβαιώστε τις επιτρεπόμενες παραμέτρους διάρκειας και τοποθεσίας στα στοιχεία σύνδεσής σας. Μια συσκευή κατοικιών μπορεί να αποσυνδεθεί πριν από την απαιτούμενη διάρκεια. Μια συνεδρία δεν εγγυάται την ίδια διεύθυνση IP για ημέρες. Για μια σταθερή διεύθυνσης, συγκρίνετε ένα αποκλειστικό στατικό προϊόν.
- Τα χρονικά όρια κλιμάκωσης στον τύπο εξόδου. μία επανάληψη σε σφάλματα μεταφοράς.
- Να μην καταγράφεται ποτέ η διεύθυνση του διακομιστή proxy: περιέχει τον κωδικό πρόσβασης. Αντ' αυτού, να καταγράφεται το αναγνωριστικό της περιόδου λειτουργίας.
Ερωτήσεις που κάνουν οι χρήστες#
Λειτουργεί το http.Δουλεύετε;
Ναι: εξάγετε τα αρχεία και με τη διεύθυνση του βασικού διακομιστή proxy και χρησιμοποιήστε το ως συνάρτηση διακομιστή Μεσολάβησης της μεταφοράς.Το αποκλείει τους τοπικούς κεντρικούς υπολογιστές.