Internectators internectte

Proxies in Go and PHP: net/http press, x/net/ proxy, CURL และ Guzz

ปรับแต่งพร็อกซี HTTP หรือ SOCKS โดยโดยตรงใน Go and PHP, เก็บใบรับรองที่ออกจากปูมบันทึก และตั้งค่าเวลานอกระบบ ตัวอย่าง ครอบคลุม http. Transport, CURL และ Guzet; การตั้งค่าประตูที่ใช้ในการออกจากไคลเอนต์ได้รับ

อ่าน 2 นาที 6 ส่วน ตรวจสอบแล้ว กองบรรณาธิการ Proxy Cyber

ไป: http. Transsport#

ไป
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 นั้นเป็นค่าควบคุมที่แตกต่างกัน การใช้ค่าฐานของไคลเอนต์ซ้ํา การใช้ค่าต่าง ๆ ของจุดเชื่อมต่อ ซึ่งกําหนดเฉพาะเกตเวย์ที่กําหนดให้ใช้ค่าพฤติกรรมการหมุนและค่าความกํามะหยี่ของกลุ่มการทํางาน โดยใช้พารามิเตอร์ต่าง ๆ ที่ให้มากับบริการของคุณ และตรวจสอบค่าออกตามต้องการหลาย ๆ แบบ การปิดหรือการส่งการเชื่อมต่อของไคลเอนต์: ปิดไม่รับประกันหมายเลขไอพีอื่น

ไป: เลือกพร็อกซีต่อการร้องขอ#

ไป
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: กัสเซิล#

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

Checklist#

  • ใช้ตัวระบุวาระการทํางานแต่ละตัวแบบแยกต่างหาก โดยเกตเวย์ของแต่ละค่า จะรองรับการทํางานแบบมีการกําหนดไว้ คุณยืนยันค่าช่วงเวลา และค่าที่ตั้งของตําแหน่งต่าง ๆ ในรายละเอียดการเชื่อมต่อของคุณ อุปกรณ์ที่พักสามารถยุติการทํางานได้ก่อนที่จะมีการเรียกดูระยะเวลาที่ต้องการ ซึ่งวาระการทํางานแบบกํามะหยี่นั้นไม่ใช่การรับประกันหมายเลขไอพีเดียวกันสําหรับที่อยู่คงที่ ให้เปรียบเทียบผลิตภัณฑ์แบบคงที่ที่ทํางานอยู่
  • เวลาหมดเวลาที่ถูกปรับขนาดเป็นประเภท ออกจากการทํางาน; มีครั้งหนึ่งพยายามในการขนส่งผิดพลาด
  • ไม่ต้องบันทึกที่อยู่ URL ของพร็อกซี: มันบรรจุรหัสผ่านอยู่ โปรดบันทึกหมายเลขวาระด้วย

คําถามที่คนถาม#

Go's http.Proxy from Envronment or?

ใช่: ได้ส่งออก HTTPS PROXY และ HTTP PROXY โดยมีที่อยู่ URL สําหรับพิมพ์Proxy Cyber และใช้ http. Prexy from Evination เป็นฟังก์ชันพร็อกซีของการขนส่ง NO PROXY แยกโฮสต์ภายในออกไป

บัญชีของคุณ

จัดการพร็อกซีทั้งหมดในบัญชีเดียว

ทีม ของ เรา ทบทวน การ จ่าย เงิน และ จัด ให้ มี ราย ละเอียด เกี่ยว กับ สิ่ง ที่ เกี่ยว ข้อง หลัง จาก ส่ง ของ แล้ว.

สร้างบัญชี