我正在编写一个通过curl数据提交以注册iContact电子邮件列表的php应用程序。但是,我不断收到无效的电子邮件地址错误。我认为这可能是由于我转义了@符号,所以它看起来像是%40而不是@。此外,根据带有CURLOPT_POSTFIELDS的curl_setopt的php文档:



因此,是否有必要通过php中的curl将@符号作为发布数据传递,而不先通过urlencode运行它?

最佳答案

首先在数据数组上使用 http_build_query() ,然后再将其传递给curl_setopt(),这将导致它以application/x-www-form-encoded而不是multipart/form-data的形式发送表单(因此@不会被解释)。

另外,为什么您真的关心电子邮件地址中的@?仅在@是第一个字符而不在中间的某个位置时才重要。

10-05 21:08
查看更多