نام انگلیسی : 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
$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
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 میزبان های محلی را حذف می کند.