State
If you wish to get the IP from a specific country state, you can do so by adding the state
parameter. For example: country-us-state-alabama
indicates obtaining a proxy from Alabama, USA.
Note: The state
parameter must be used together with the country
parameter. Using the state
parameter alone cannot obtain the IP address of the specified country and state. The state
parameter, city
, and ASN
parameters cannot be used at the same time!
Code example:
Execute a query to ipinfo.thordata.com
using a random IP address from Alabama, USA
curl -x t.pr.thordata.net:9999 -U "td-customer-USERNAME-country-US-state-alabama:PASSWORD" ipinfo.thordata.com
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class csharp_http_region_state
{
static void Main(string[] args)
{
Task t = new Task(DownloadPageAsync);
t.Start();
Console.ReadLine();
}
static async void DownloadPageAsync()
{
string page = "https://ipinfo.thordata.com";
String username = "username";
String password = "password";
String country = "us";
String state = "alabama";
String proxyUserName = $"user-{username}-country-{country}-state-{state}";
var proxy = new WebProxy("http://t.pr.thordata.net:9999")
{
UseDefaultCredentials = false,
Credentials = new NetworkCredential(
userName: proxyUserName,
password: password)
};
var httpClientHandler = new HttpClientHandler()
{
Proxy = proxy,
};
var client = new HttpClient(handler: httpClientHandler, disposeHandler: true);
var response = await client.GetAsync(page);
using (HttpContent content = response.Content)
{
string result = await content.ReadAsStringAsync();
Console.WriteLine(result);
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
}
}
package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
"net/url"
)
const (
resourceUrl = "https://ipinfo.thordata.com"
proxyHost = "t.pr.thordata.net:9999"
username = "username"
password = "password"
country = "us"
state = "alabama"
)
func main() {
proxyUserName := fmt.Sprintf("user-%s-country-%s-state-%s", username, country, state)
proxyUrl := &url.URL{
Scheme: "http",
User: url.UserPassword(proxyUserName, password),
Host: proxyHost,
}
client := http.Client{
Transport: &http.Transport{
Proxy: http.ProxyURL(proxyUrl),
},
}
resp, err := client.Get(resourceUrl)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
bodyString := string(body)
fmt.Println(bodyString)
}
import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.conn.BasicHttpClientConnectionManager;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
public class JavaHttpRegionAsn {
public static final String username = "username";
public static final String password = "password";
public static final int port = 9999;
public static final String region = "us";
public static final String state = "alabama";
public static final String proxyHost = "t.pr.thordata.net";
public static final String proxyname = String.format("user-%s-country-%s-state-%s", username, region,state);
public CloseableHttpClient client;
public JavaHttpRegionAsn() {
HttpHost proxy = new HttpHost(proxyHost, port);
CredentialsProvider cred_provider = new BasicCredentialsProvider();
cred_provider.setCredentials(new AuthScope(proxy),
new UsernamePasswordCredentials(proxyname, password));
client = HttpClients.custom()
.setConnectionManager(new BasicHttpClientConnectionManager())
.setProxy(proxy)
.setDefaultCredentialsProvider(cred_provider)
.build();
}
public String request(String url) throws IOException {
HttpGet request = new HttpGet(url);
CloseableHttpResponse response = client.execute(request);
try {
return EntityUtils.toString(response.getEntity());
} finally { response.close(); }
}
public void close() throws IOException { client.close(); }
public static void main(String[] args) throws IOException {
JavaHttpRegionAsn client = new JavaHttpRegionAsn();
try {
System.out.println(client.request("https://ipinfo.thordata.com"));
} finally { client.close(); }
}
}
<?php
$url = 'ipinfo.thordata.com';
$proxy = 't.pr.thordata.net';
$port = 9999;
$user = 'username';
$psw = 'password';
$country = 'us';
$state = 'alabama';
$proxyuser = sprintf("user-%s-country-%s-state-%s",$user,$country,$state);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, "$proxy:$port");
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "$proxyuser:$psw");
$result = curl_exec($ch);
curl_close($ch);
if ($result)
{
echo $result . PHP_EOL;
}
?>
import requests
username = "username"
password = "password"
proxy_server = "t.pr.thordata.net:9999"
country = "us"
state = "alabama"
proxies = {
"http": f"http://user-{username}-country-{country}-state-{state}:{password}@{proxy_server}"
}
response = requests.get("http://ipinfo.thordata.com", proxies=proxies)
print(response.text)
const rp = require('request-promise');
const username = "username";
const password = "password";
const proxyServer = "t.pr.thordata.net:9999";
const country = "us";
const state = "alabama";
rp({
url: 'http://ipinfo.thordata.com',
proxy: `http://user-${username}-country-${country}-state-${state}:${password}@${proxyServer}`,
})
.then(function(data) {
console.log(data);
})
.catch(function(err) {
console.error(err);
});
require "uri"
require 'net/http'
proxy_host = 't.pr.thordata.net'
proxy_port = 9999
proxy_username = 'username'
proxy_pass = 'password'
proxy_country = 'us'
proxy_state = 'alabama'
proxy_user = "user-#{proxy_username}-country-#{proxy_country}-state-#{proxy_state}"
uri = URI.parse('https://ipinfo.thordata.com')
proxy = Net::HTTP::Proxy(proxy_host, proxy_port, proxy_user, proxy_pass)
req = Net::HTTP::Get.new(uri)
result = proxy.start(uri.host, uri.port, use_ssl: true) do |http|
http.request(req)
end
puts result.body
Last updated
Was this helpful?