Ολοκληρώσεις · Ενδιάμεσο επίπεδο

Μεσολαβητές σε Go και PHP: net/http μεταφορά, x/net/proxy, cURL και Guzzle

Διαμορφώστε έναν διακομιστή proxy ή ρητά σε Γκό και να κρατήσετε τα διαπιστευτήρια από τα αρχεία καταγραφής, και να ορίσετε χρονικά όρια.Τα παραδείγματα καλύπτουν το Μεταφορές, και Έλεγχος ρυθμίσεων πύλης που εξέρχεται από τον πελάτη που λαμβάνει.

2 λεπτά ανάγνωση 6 τμήματα Αναθεώρηση Η συντακτική ομάδα Proxy Cyber

Μετάβαση σε: Μεταφορές#

Πήγαινε.
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
<?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
<?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 και χρησιμοποιήστε το ως συνάρτηση διακομιστή Μεσολάβησης της μεταφοράς.Το αποκλείει τους τοπικούς κεντρικούς υπολογιστές.

Ο λογαριασμός σας

Διαχειριστείτε όλα τα proxy σας από έναν λογαριασμό

Συγκρίνετε δίκτυα, κάντε παραγγελίες και παρακολουθήστε το υπόλοιπό σας και τα αιτήματα υποστήριξης από ένα Η ομάδα μας ελέγχει τις πληρωμές και παρέχει στοιχεία σύνδεσης μετά την παράδοση.

Δημιουργία λογαριασμού