Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.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
Ios api get请求失败,但发布、放置、删除工作_Ios_Api_Express_React Native_Axios - Fatal编程技术网

Ios api get请求失败,但发布、放置、删除工作

Ios api get请求失败,但发布、放置、删除工作,ios,api,express,react-native,axios,Ios,Api,Express,React Native,Axios,环境和设置: 反应本机0.57 服务器的expressjs 使用axios进行api请求 设置超时10000ms 请求是带有用户名和其他小信息的json数据 http请求(非https) 我正在开发一个小型react本机项目,现在遇到了“api获取请求”的问题 它非常适合POST、PUT、DELETE操作,但只有GET请求返回超时错误,并带有“BadRequestError:RequestDenied”服务器日志 同样的代码在android上运行得很好,但它只在ios上运行 我已将NSAl

环境和设置:

  • 反应本机0.57
  • 服务器的expressjs
  • 使用axios进行api请求
  • 设置超时10000ms
  • 请求是带有用户名和其他小信息的json数据
  • http请求(非https)

我正在开发一个小型react本机项目,现在遇到了“api获取请求”的问题

它非常适合POST、PUT、DELETE操作,但只有GET请求返回超时错误,并带有“BadRequestError:RequestDenied”服务器日志

同样的代码在android上运行得很好,但它只在ios上运行


我已将NSAllowsArbitraryLoads设置为true,也将NSExceptionDomains设置为true,以防万一,但它们都没有解决问题。

最新的iOS sdk强制连接采用https协议,而不是http协议

您可以在Xcode项目的info.plist文件中向域添加异常

如果您想允许所有内容,请在info.plist中写入此内容

<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
    <key>yourdomain.com</key>
    <dict>
        <!--Include to allow subdomains-->
        <key>NSIncludesSubdomains</key>
        <true/>
        <!--Include to allow HTTP requests-->
        <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
        <true/>
        <!--Include to specify minimum TLS version-->
        <key>NSTemporaryExceptionMinimumTLSVersion</key>
        <string>TLSv1.1</string>
    </dict>
 </dict>
</dict>
NSAppTransportSecurity
NSExceptionDomains
yourdomain.com
n包括多个域
NSTemporary ExceptionalLowsInSecureHttpLoads
NSTemporaryExceptionMinimumTLSVersion
TLSv1.1

步骤:

  • 在xcode中打开您的项目
  • 右键单击info.plist
  • 选择“作为源代码打开”
  • 标记末尾之前添加以下代码
  • NSAppTransportSecurity
    NSAllowsArbitraryLoads
    
    好的,找到了解决方案

    这是因为在发送“GET”请求时,主体上有一个空对象。 检查它是否为空并使其未定义解决了问题