ادغام · متوسط

Proxies در Go و PHP: حمل و نقل خالص / http، x /net /proxy، cURL و Guzzle

یک پروکسی HTTP یا SOCKS را به صراحت در Go و PHP ایجاد کنید، اعتبار را از log ها حفظ کنید و تایمر را تنظیم کنید. مثال ها http.Transport، cURL و Guzzle را پوشش می دهند؛ کنترل تنظیمات دروازه که از مشتری خارج می شود.

2 دقیقه خواندن 6 بخش بازبینی‌شده تیم تحریریه Proxy Cyber

نام انگلیسی : http.Transport#

برو برو برو برو
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 کنترل های مختلف است.یک جلسه مشتری از سوکت ها استفاده می کند؛ تنها دروازه تعیین کننده چرخش و رفتار چسبنده-session است.استفاده از پارامترهای جلسه ارائه شده با خدمات شما و تأیید خروجی بیش از چندین درخواست. بستن سوکت یا ارسال اتصال: نزدیک تضمین IP مختلف.

Go: انتخاب پروکسی در هر درخواست#

برو برو برو برو
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))
	},
}

نام بازی: SOCKS5#

برو برو برو برو
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: cURL#

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: Guzzle#

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 برای روزها نیست.
  • زمان سنجی ها به نوع خروج افزایش یافته است؛ یک بار در مورد خطاهای حمل و نقل.
  • هرگز URL پروکسی را وارد نکنید: در عوض شامل رمز عبور است.

پرسش هایی که مردم می پرسند#

آیا HTTP.Proxy از Environment کار می کند؟

بله: HTTPS PROXY و HTTP PROXY را با URL Proxy Cyber صادر کنید و از http.Proxy ازEnvironment به عنوان تابع Proxy حمل و نقل استفاده کنید. NO PROXY میزبان های محلی را حذف می کند.

حساب کاربری شما

همهٔ پروکسی‌ها را در یک حساب مدیریت کنید

مقایسه شبکه ها، سفارش مکان و پیگیری تعادل و درخواست های پشتیبانی خود را از یک داشبورد.تیم ما پرداخت ها را بررسی می کند و جزئیات اتصال را پس از تحویل فراهم می کند.

ایجاد حساب