【问题标题】:Connect to Bing Merchant Center using phpseclib使用 phpseclib 连接到 Bing Merchant Center
【发布时间】:2015-02-06 16:19:21
【问题描述】:

我正在尝试在我的项目中使用 phpseclib 使用 SFTP 将产品 Feed 上传到 Bing 的 Merchant Center。我在同一个项目中使用 phpseclib 通过 SFTP 将产品提要上传到亚马逊,它工作正常,但我似乎无法成功连接到 Bing。

以下代码正在尝试连接到Bring:

$sftp = new Net_SFTP(BING_FTP_SERVER);
if (!$sftp->login(BING_FTP_USERNAME, BING_FTP_PASSWORD)) {
            exit('Login Failed');
}

当我运行这段代码时,大约有 10 秒的延迟,然后我收到一条错误消息,提示登录失败并且:

Cannot connect to feeds.adcenter.microsoft.com. Error 110. Connection timed out

为了测试凭据,我使用 Filezilla 手动连接,它可以正常工作。但是,在连接之前,Filezilla 向我显示了一个警告,说服务器的证书未知,我需要手动批准它才能连接。当我使用 Filezilla 直接连接到 Amazon 的 FTP 服务器时,我没有收到此警告。

所以,我想知道这个警告是否可能导致问题。我是否需要以某种方式告诉我的 Ubunut 服务器信任 Bing 的 FTP 服务器上的证书,基本上模仿我在 Filezilla 中需要提供的手动批准?有谁知道怎么做?

【问题讨论】:

  • 是 PHP 的 fsockopen() 给出了错误。我的猜测:BING_FTP_SERVER 上没有 /SFTP/ 服务器,而是 FTP 服务器。 FTP 在端口 21,SFTP,端口 22。

标签: php ftp sftp phpseclib


【解决方案1】:

根据 Bing 商家常见问题解答,仅支持 FTP 或 FTPS。不是 SFTP。 phpseclib 仅支持 SFTP。 FTPS 和 SFTP 是完全不同的协议。

FTP功能参考PHP手册:
https://www.php.net/manual/en/book.ftp.php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-08
    • 2017-05-25
    • 1970-01-01
    • 2023-03-29
    • 2013-08-18
    • 1970-01-01
    • 2014-09-09
    • 2014-08-25
    相关资源
    最近更新 更多