Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.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 wp_remote_请求远程获取仅可供登录用户访问的文件_Php_Wordpress_Authentication_Shopp - Fatal编程技术网

Php wp_remote_请求远程获取仅可供登录用户访问的文件

Php wp_remote_请求远程获取仅可供登录用户访问的文件,php,wordpress,authentication,shopp,Php,Wordpress,Authentication,Shopp,我正在开发一个有升级选项的插件。在客户从我的销售网站(也运行Wordpress)购买插件后,他们会得到一个下载密钥和Shopp生成的下载URL。例如: $url = 'https://mysalessite.com/products/account/download/5cad290d109a519cdbdb6197307bd378ae1aa25f/'; 我希望客户端能够在插件选项中输入用户名、密码和下载密钥,并自动接收升级包。但是,很明显,当我使用: $response = wp_remote

我正在开发一个有升级选项的插件。在客户从我的销售网站(也运行Wordpress)购买插件后,他们会得到一个下载密钥和Shopp生成的下载URL。例如:

$url = 'https://mysalessite.com/products/account/download/5cad290d109a519cdbdb6197307bd378ae1aa25f/';
我希望客户端能够在插件选项中输入用户名、密码和下载密钥,并自动接收升级包。但是,很明显,当我使用:

$response = wp_remote_request( $url ); 
var_dump( $response );
唯一返回的是登录屏幕,因为用户没有登录

我无意中发现了这个建议,并试着使用它

$args = array(
     'headers' => array(
          'Authorization' => 'Basic ' . base64_encode( 'username:passw0rd' )
     )
);
$response = wp_remote_request( $url, $args ); 

但是它仍然在
$response
中返回登录屏幕,而不是购买的文件。

您好,这取决于您在远程脚本(第页)中如何登录用户。如果您的远程脚本有一个“Post”用户名和密码值的登录表单,那么您也应该使用Post方法向该页面请求传递这些值。我不确定您是如何在下载URL中接收请求的,这取决于您如何在该下载页面中验证您的用户。您可以指定更多,我可以更精确地帮助您。@gsc leticia,我应该更具体一些:两个网站都是Wordpress。我可以将用户名和密码传递给销售网站上的wp-login.php,但只能作为URL参数。作为URL参数发送密码是否通常被认为是一种不好的做法(不安全)?确切地说,您应该尝试使用Post方法而不是Get(在URL中传递变量)。如果下载密钥是唯一和私有的,我通常使用它来识别用户请求。我不知道你的应用程序的规格,但对我大多数人来说,下载密钥就足够了,所以你可以做一个页面来接收该密钥并返回你想要的信息/文件。