Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用CURL检索电子邮件有哪些问题?_Php_Architecture_Curl_Implementation - Fatal编程技术网

Php 使用CURL检索电子邮件有哪些问题?

Php 使用CURL检索电子邮件有哪些问题?,php,architecture,curl,implementation,Php,Architecture,Curl,Implementation,我希望为我们的本地网络添加一项新功能,即使用PHP从Gmail、Yahoo和Hotmail等免费电子邮件服务中检索电子邮件。有些服务我们可以付费,但我宁愿自己动手 我发现谷歌只有一个API,而其他的没有那么,我使用CURL检索电子邮件会遇到什么问题? 我甚至用CURL和PHP实现了GMail部分。我想你有理由不使用pop协议,这是受支持的标准电子邮件检索方式。按照自己的意愿去做,这是不受支持的,可能也不在提供商的使用条款中 但是,如果没有验证码解决方案妨碍您,那么从技术上讲,这是可能的。您必须为

我希望为我们的本地网络添加一项新功能,即使用PHP从Gmail、Yahoo和Hotmail等免费电子邮件服务中检索电子邮件。有些服务我们可以付费,但我宁愿自己动手

我发现谷歌只有一个API,而其他的没有那么,我使用CURL检索电子邮件会遇到什么问题?


我甚至用CURL和PHP实现了GMail部分。

我想你有理由不使用pop协议,这是受支持的标准电子邮件检索方式。按照自己的意愿去做,这是不受支持的,可能也不在提供商的使用条款中

但是,如果没有验证码解决方案妨碍您,那么从技术上讲,这是可能的。您必须为每个提供者编写不同的应用程序。如果他们更改了某些内容,您必须采用您的应用程序

要使它与curl一起工作,请确保收集他们在所有页面中提供给您的所有cookie,并在每个请求中返回它们

如果出现任何问题(也用于开发),您可以使用某种工具(例如windows上的proxomitron)分析http请求和答案,并使curl请求越来越像浏览器请求,直到成功为止。最终,他们无法通过浏览器将您的curl请求与人工请求区分开来。除了我之前说过的验证码

另一件事是请求之间的间隔,您可能会因为请求频繁或两个请求之间没有停顿而被阻止(这是人类无法做到的)。如果您怀疑这一点,请尝试在请求之间插入随机修改的暂停


我可以想象他们在开发过程中会阻止您的帐户或IP,在这种情况下,有必要更改您的IP和/或您使用的帐户。

我认为您有理由不使用pop协议,这是受支持的标准电子邮件检索方式。按照自己的意愿去做,这是不受支持的,可能也不在提供商的使用条款中

但是,如果没有验证码解决方案妨碍您,那么从技术上讲,这是可能的。您必须为每个提供者编写不同的应用程序。如果他们更改了某些内容,您必须采用您的应用程序

要使它与curl一起工作,请确保收集他们在所有页面中提供给您的所有cookie,并在每个请求中返回它们

如果出现任何问题(也用于开发),您可以使用某种工具(例如windows上的proxomitron)分析http请求和答案,并使curl请求越来越像浏览器请求,直到成功为止。最终,他们无法通过浏览器将您的curl请求与人工请求区分开来。除了我之前说过的验证码

另一件事是请求之间的间隔,您可能会因为请求频繁或两个请求之间没有停顿而被阻止(这是人类无法做到的)。如果您怀疑这一点,请尝试在请求之间插入随机修改的暂停


我可以想象,他们在开发过程中会屏蔽你的帐户或IP,在这种情况下,有必要更改你的IP和/或你使用的帐户。

几乎肯定会违反他们的服务条款,为此目的对他们的网站进行屏幕清理。如果他们重新设计你的网站,你用来解析电子邮件内容等的脚本也可能会发生灾难性的破坏


Yahoo、Gmail和Hotmail都支持检索电子邮件的标准协议。为什么不改用它呢?

几乎可以肯定,为了这个目的而对他们的网站进行屏幕清理违反了他们的服务条款。如果他们重新设计你的网站,你用来解析电子邮件内容等的脚本也可能会发生灾难性的破坏


Yahoo、Gmail和Hotmail都支持检索电子邮件的标准协议。为什么不使用它呢?

当有人给你一个API时,他们会向你保证这一点“如果运行代码X,则会出现Y。当您进行屏幕抓取时,提供商没有这样的承诺,许多提供商在其服务条款中明确禁止屏幕抓取。从技术角度来看,这意味着他们的页面/应用程序可能会发生更改,这些更改将破坏您的屏幕抓取、意外地或有意地被提供商删除。这就是验证码存在的原因

此外,这些应用程序越来越多地使用越来越多的“AJAX”风格的体系结构,这意味着您正在致力于对其应用程序的工作方式进行反向工程,并跟上每个应用程序所做的更改


最后,你做错了。电子邮件本身就是一套协议。大多数提供商都可以通过POP3和IMAP访问电子邮件。我将研究如何破解PHP代码以与POP/IMAP服务器交互,POP/IMAP服务器就像API一样,是一组承诺的行为。您还有一个优势,即为一个提供程序编写的代码可能对另一个提供程序起作用(稍作调整)。

当有人向您提供API时,他们会向您保证这一点“如果运行代码X,则会出现Y。当您进行屏幕抓取时,提供商没有这样的承诺,许多提供商在其服务条款中明确禁止屏幕抓取。从技术角度来看,这意味着他们的页面/应用程序可能会发生更改,这些更改将破坏您的屏幕抓取、意外地或有意地被提供商删除。这就是验证码存在的原因

此外,这些应用程序越来越多地使用越来越多的“AJAX”风格的体系结构,这意味着您正在致力于对其应用程序的工作方式进行反向工程,并跟上每个应用程序所做的更改

最后,你做错了。电子邮件是itse中的一组协议