我尝试通过获取请求连接并在api中获得响应。网络请求失败错误已引发。
我的请求是一个https
请求。
我在网络偏好设置和bash_profile中都有代理设置
Xcode信息plist具有NSAllowsArbitraryLoads
属性。
在postman
中得到了JSON响应,但是通过RN代码,请求失败了
我可以与其他后端服务器连接并获得响应。但是仅对于此base_url,网络请求失败。
var form = new FormData();
form.append("username", usernameValue);
form.append("password", encryptedPassword.toString());
return fetch(oAuthUrl, {
method: 'POST',
headers: {
'Content-Type': 'multipart/form-data',
'Authorization' : authroizationHeaderField, //basic auth
},
body:form
})
.then(response => checkStatus(response))
.then(async (response) => {
let responseJson = await response.json()
return responseJson;
})
.catch(error => {
console.log(error); //here error occurred
});
任何人都可以帮助或指导我解决它。.也欢迎提出建议。
答案 0 :(得分:0)
我已在以下文件中添加了该方法。它允许任何具有自签名证书的服务器。
RCTHTTPRequestHandler.mm
- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential))completionHandler
{
completionHandler(NSURLSessionAuthChallengeUseCredential, [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust]);
}
现在网络故障问题已解决。