This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Compiler/TIDM-TM4C129XGATEWAY:如何设置代理服务器

Guru**** 1640390 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/848176/compiler-tidm-tm4c129xgateway-how-to-set-the-proxy-server

器件型号:TIDM-TM4C129XGATEWAY

工具/软件:TI C/C++编译器

您好!

目前、我能够在目标服务器上发送 GET 和 POST 请求。 我正在设置代理服务器。

这是我迄今所做的工作。

1.组成了一个代理服务器,如果我们在 Internet 选项中设置代理设置并从 Web 浏览器访问目标服务器,则该服务器工作正常

2. 将代理服务器设置为

      //这些线路在我的以太网任务开始时被调用。

       struct sockaddr_in paddr;
       paddr.sin 系列= AF_iNet;
       paddr.sin 端口= htons(80);//代理服务器正在使用端口80
       paddr.sin addr.s_addr = sl_Htonl (sl_IPv4_VAL (a、b、c、d));//对于代理服务器 IP = a.b.c.d     
       HTTPCLI_setProxy (struct sockaddr *) paddr);

我希望它能做这项工作。 但在 https://ProxyTunnel 函数中失败。 即

在线路上


   Host = getRequestFieldValue (CLI、HTTPStd_field_name_host);

它将为空。

我添加了主机并修复了此问题。 现在它停留在"https://ProxyTunning"函数的以下行中


   RET = getStatus (CLI);//此函数内的下一行
           状态= skipLine (CLI);//在该函数中,它永远不会获取换行或'\n'

while (c!='\n'){//停留在此循环中。

如果有人可以帮助和指导这里发生的错误、这将非常有帮助。 谢谢、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     我想确保您使用的是 TI-RTOS NDK。 是这样吗? 如果是、我会将您的帖子转发给我们的 NDK 专家。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、我使用的是 TI-RTOS NDK。
    谢谢、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Hamza、

    我想确认您的测试拓扑。 您是否将 TM4C 用作 HTTP 客户端? 您希望此客户端使用代理服务器访问外部 Web 服务器吗? 我是否正确?

    如果是、似乎客户收到了不包含预期数据的响应。 您是否会在 TM4C 客户端和代理服务器之间附加网络流量的 Wireshark 跟踪。 然后、我们可以检查数据包并查看数据是什么样的。

    此外、您是否会确认您正在使用的 SDK 版本。

    谢谢、
    ~Ramsey

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ramsey、

    是的、我使用 TM4C 作为 HTTP 客户端、并希望通过代理服务器访问外部 Web 服务器。 我运行了 Wireshark 跟踪并修复了该问题。 现在、我能够通过代理服务器运行我的数据。


    以下是我所犯的几个错误:  


    1.在函数 httpProxyTunnel (HTTPCL_Handle CLI)中,将主机设置为“Web 服务器 URL/IP:port (用于 Web 服务器通信)”

    2.在设置代理服务器时,请不要忘记键入 cast sl_IPv4_VAL 函数(_u32)

    paddr.sin addr.s_addr = sl_Htonl ((_u32) sl_IPv4_VAL (a、b、c、d)); //此处代理服务器的 IP 为 a.b.c.d

    3.在我的代码中,我将套接字与服务器连接以进行测试,然后在发送数据时再次进行测试。 但是、当我在代理服务器上尝试此行为时、我无法在发送数据时再次连接。 这似乎不是发送数据。 因此我跳过了连接套接字进行测试、并将其用于连接和发送数据。 它发挥了作用。  

    此外,我在此也想问有关设置代理服务器的任何此类问题。 )
    谢谢、
    Hamza

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Hamza、

    很高兴听到您让它正常工作。 感谢您与社区分享您的成果。 非常感谢。

    ~Ramsey