التكامل · متوسط

Proxies in Go and PHP: net/http Transport, x/net/proxy, cURL and Guzzle

(ج) أن يُبقي على وثائق التفويض خارج السجلات، وأن يُحدّد مهل زمنية، وتشمل الأمثلة على ذلك الموقع الشبكي التالي: http.Transport, cURL and Guzzle; gateway settings control which exit the client receives.

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))
}

إن إعادة استخدام الوصلات والتكليف بالخدمة الدولية هما أمران مختلفان، حيث تقوم جلسة العملاء بإعادة استخدام الجوارب، ولا تحدد البوابة إلا التناوب وسلوك الحيازة، ولا تستخدم معايير الدورة التي توفرها خدمتكم، وتتحقق من الخروج من عدة طلبات، ولا يضمن إغلاق جورب أو إرساله أي اتصال آخر.

اذهب: اختيار البروكسي لكل طلب#

اذهب
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: الضفيرة#

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
<?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();

قائمة التحقق#

  • (ب) استخدام محدد زمني محدد للدورة لكل تدفق عمل مستقل، حيث تدعمه البوابة المكلَّفة، وتأكيد المدة المسموح بها ومعايير الموقع في تفاصيل الاتصال الخاصة بك، ويمكن للجهاز السكني أن يقطع الاتصال قبل الفترة المطلوبة؛ ولا تشكل الدورة الملصقة ضماناً لنفس برنامج العمل الدولي لأيام، وللاطلاع على عنوان ثابت، مقارنة منتج ثابت مخصص.
  • ووصل الوقت إلى نوع الخروج؛ وعودة واحدة عن أخطاء النقل.
  • لا تُسجل أبداً كلمة السرّ، بل تُلقي الجلسة بدلاً من ذلك.

أسئلة يطرحها الناس#

هل (جو) على الموقع؟

نعم: تصدير HTTPS PROXY وHTTP PROXY مع بروكسي النيابة الرئيسي وUL واستخدام الموقع الشبكي:ProxyFromEnvironment as the Transport's Proxy function.

حسابك

إدارة البروكسيات الخاصين بك في حساب واحد

مقارنة الشبكات، وتلقي الأوامر، وتتبع طلباتكم المتعلقة بالتوازن والدعم من لوحة واحدة، ويستعرض فريقنا المدفوعات ويقدم تفاصيل عن الاتصالات بعد التسليم.

إنشاء حساب