如何使用 CURL_SETOPT 通过另一个 IP 地址路由 CURL?
Posted
技术标签:
【中文标题】如何使用 CURL_SETOPT 通过另一个 IP 地址路由 CURL?【英文标题】:How to route CURL through another IP address using CURL_SETOPT? 【发布时间】:2018-12-15 22:01:31 【问题描述】:我正在使用 mailchimp 插件将我的 woocommerce 网站连接到他们的平台,但我的服务器的 IP 地址被 Akamai 阻止,Akamai 是他们的 API 路由通过的第三方安全层。有人告诉我,我可以使用 mailchimp 的唯一方法是更改 API 调用所经过的 IP 地址。所以现在我正在尝试破解插件来做到这一点。我相信我需要做的是使用 curl setopt 但我不知道如何在这段代码中使用它。谁有想法?我几乎可以肯定我把它放在某个地方的这段代码,但我不知道正确的语法。
protected function put($url, $body)
$curl = curl_init();
$json = json_encode($body);
$options = $this->applyCurlOptions('PUT', $url, array(), array(
'Expect:',
'Content-Length: '.strlen($json),
));
$options[CURLOPT_POSTFIELDS] = $json;
curl_setopt_array($curl, $options);
return $this->processCurlResponse($curl);
【问题讨论】:
您需要更改服务器的 IP 地址或使用其他服务器作为代理。 我有另一个 IP 地址可用于我的帐户(我的主机通过专用 IP 路由我网站的前端,所以我想使用那个... API 调用仍然来自原始的)所以我认为可以通过修改上面的这段代码来完成 【参考方案1】:最好的解决方案是通过注册 CloudFlare 在您的网站上启用免费的 cloudflare 服务。激活 cloudflare 后,您的网站 IP 将自动更改为 cloudflare 代理 IP 地址,然后您将通过 hostname to IP 找到网站 IP 并与 API 通信,而无需更改您的服务器 IP。
【讨论】:
我认为这根本不是最好的解决方案以上是关于如何使用 CURL_SETOPT 通过另一个 IP 地址路由 CURL?的主要内容,如果未能解决你的问题,请参考以下文章