当前位置: 首页 > 知识库问答 >
问题:

在Android nativescript中发出非安全http请求

佘辰龙
2023-03-14

我正在尝试从nativescript向常规http(非https)服务器发出http请求。

    let headers = new Headers();
    headers.append("Content-Type", "application/json");

    this.http.request(
        "http://localhost:3050/register", 
        {
            method: "POST",
            headers: headers,
            body: JSON.stringify({
                username: user.username,
                email: user.email,
                password: user.password
            })
        })

当向https服务器发出请求时,该请求工作得很好,但是当向超文本传输协议服务器(这是我目前运行的服务器)发出请求时,它就不工作了。

在iOS中,我必须在信息中添加以下内容。plist文件,以允许向http服务器发送请求,然后该文件正常工作:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

然而,在Android中,请求仍然不起作用,并且我找不到任何关于我需要进行的更改的文档,以使请求在http服务器上工作。请求甚至没有击中服务器。

任何帮助都很感激。

谢谢。

共有2个答案

王修为
2023-03-14

修改AndroidManifest。xml位于app\app\u Resources\Android\src\main

    <application
        android:name="com.tns.NativeScriptApplication"
        android:allowBackup="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">

    <application
        android:name="com.tns.NativeScriptApplication"
        android:allowBackup="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:theme="@style/AppTheme"
        android:usesCleartextTraffic="true">

我添加了最后一行:android:usesCleartextTraffic=“true”

然后就奏效了!

见:https://www.nativescript.org/blog/secure-your-mobile-app-securing-data-in-transit

锺离俊雄
2023-03-14

Localhost表示您正在运行的设备。使用Android时,您的环回地址不再是标准的127.0.0.1(也称为localhost),而是类似于10.0.2.2的地址(根据您使用的是AVD还是GenyMotion而有所不同)

更多

您也可以将类似的解决方案用于跨平台解决方案

 类似资料:
  • 本文向大家介绍在React.js中发出HTTP请求,包括了在React.js中发出HTTP请求的使用技巧和注意事项,需要的朋友参考一下 在典型的Web应用程序中,客户端通过浏览器发出http请求,而服务器在响应中发送带有数据的html页面。 但是在单页应用程序(SPA)中,我们只有一页,每当客户端向服务器发出http请求时,它通常都会以json / xml格式的数据进行响应。 为了发出http请求

  • 问题内容: 我在iBooks中阅读了Apple的The Programming Language Swift ,但无法弄清楚如何在Swift中发出HTTP请求(例如cURL)。我需要导入Obj- C类还是只需要导入默认库?还是无法基于本机Swift代码发出HTTP请求? 问题答案: 您可以使用,而且还是因为你通常在Objective- C做。请注意,对于iOS 7.0和更高版本,它是首选。 使用

  • 我在iBooks上读过Apple的编程语言Swift,但不知道如何在Swift中发出HTTP请求(类似于cURL)。我需要导入Obj-C类还是只需要导入默认库?或者不可能基于本机Swift代码发出HTTP请求?

  • 我在iBooks中阅读了苹果公司的编程语言Swift,但不知道如何在Swift中发出HTTP请求(类似cURL的东西)。我需要导入Obj-C类还是只需要导入默认库?还是不能基于原生Swift代码进行HTTP请求?

  • 问题内容: 我正在尝试发出POST请求以检索有关一本书的信息。这是返回HTTP代码的代码:302,已移动 当我从浏览器尝试时,可以从以下页面进行操作:http : //www.bkstr.com/webapp/wcs/stores/servlet/BuybackMaterialsView?langId=-1&catalogId=10001&storeId=10051&schoolStoreId=1

  • 问题内容: 我才刚开始做出反应,我有点迷茫。我正在尝试制作一个登录页面并发出一个http发布请求。现在,我只是想使任何类型的HTTP请求都能正常工作,所以我使用了请求bin,并在文档中找到了针对npm软件包的这一基本操作(https://www.npmjs.com/package/redux -react-fetch ): 那么,写完一个动作之后,我该怎么办?我实际上如何让我的应用程序调用并使用该