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

如何处理包含html内容的请求?

柳珂
2023-03-14

我有一个请求我的服务器,响应是一个超文本标记语言类型,如下所示:

<!DOCTYPE html>
<html>
    <head>
        <title>info starter</title>
    </head>
    <body>
        <!DOCTYPE html>
        <html lang="en">
            <head>
                <meta charset="UTF-8">
                <title>بازی نما</title>
                <style>
    }
      } }
    body{margin: 0;direction: rtl; font-family: myFont;font-size: 16px;padding: 1em 2em;background: url('https://bazinama.vasapi.click/static/bazinama-files/images/boundry.jpg') top center;color: #fff;}.coins{float: left;font-size: 1.5em;margin-top: -0.2em;}.coin-img{width: 1.5em;margin: -0.1em 0.5em;float: left;animation: coin 1s infinite linear;-webkit-animation: coin 1s infinite linear;-moz-animation: coin 1s infinite linear;}.row{margin: 2em 0;}p{line-height: 2.4em !important;}.title{text-align: center;margin-bottom: 1.5em;}.title .bold{font-size: 1.5em;color: #ffc800;}.box{background: rgba(11, 111, 251, 0.9);padding: 1em;border-radius: 1em;-webkit-border-radius: 1em;-moz-border-radius: 1em;margin: 2em 0;}.mobile-icon{width: 70px;float: right;}
    </style>
            </head>
            <body>
                <h2 class="title">
                    <span class="bold"> استارتر،</span>، پلتفرم حمایت از بازی های ایرانی و بازی سازی ملی است.
                </h2>
                <p>گیمرها، شرکت ها و تیم هپردازند،. </p>
            </body>
        </html>
    </body>
</html>

我通过如下方式设置改装请求:

  @Headers("Accept: text/html")
  @GET("pages/Bazinamamag/starter/")
  Call<ResponseBody> getContactUsInfo();

并准备如下请求:

@Override
  public void getContactUsInfo(@Nullable final LoadContactUsCallback callback) {
        final ApiService service = ServiceGenerator.createService(ApiService.class);

        service.getContactUsInfo().enqueue(new Callback<ResponseBody>() {
          @Override
          public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {

            try {
              Log.d(TAG, "onResponse: " + response.body().string());

              callback.onTasksLoaded(response.body().string());

            } catch (IOException e) {
              e.printStackTrace();
              Log.e(TAG, "onResponse: " + e.getMessage());
            }

          }

          @Override
          public void onFailure(Call<ResponseBody> call, Throwable t) {

            Log.e(TAG, "onFailure: " + t.getMessage());
            callback.onDataNotAvailable();

          }
        });
      }

但是,始终无法获得响应的HTML代码,并且该代码是”。

如何获得html响应?

非常感谢。

共有1个答案

哈翔
2023-03-14

如果您正在使用的Api只提供HTML,您可以告诉Reformation请求HTML,如:

@Headers("Accept: text/html")
@GET("myUrl")
Call<String> getContactUsInfo();

另外,请注意,在onSolutions中,响应可以是任何东西,请在其中包装一个is成功,如以下所示:如何获得改装成功响应状态代码

编辑:看起来需要为String数据使用标量转换器。这将是

compile 'com.squareup.retrofit2:converter-scalars:2.3.0'

就像这里提到的。

 类似资料:
  • 问题内容: 我需要按以下方式处理请求: 它应该接受介于和之间的值中的任何类型的字符?。请注意,将位于的值将是一个值,而不是操作的名称。 例如:其中第一个请求应将用户重定向到页面(因为那是名称),第二个请求应将用户lkikf连同参数名称的值一起重定向到页面。 我有下面的控制器来处理它,但是问题是当我的地址中有/时,控制器无法处理它。 我用下面的正则表达式不起作用。 问题答案: 你必须创建两个方法,然

  • 我需要按以下方式处理请求: 它应该接受位于和之间的值中的任何类型的字符。请注意,将位于那里的值将是一个单独的值,而不是一个动作的名称。 我使用了以下正则表达式,但这不起作用。

  • 我有两个不同的JTextPanes,第一个是不同线程发送消息的日志。在html文件中有保存的会话,当用户加载它们时,这些文件被用作第二个JTextPane的内容。这两个JTextPanes都具有html内容类型。 表格和空格还在。 表格和空格都不见了。我尝试使用而不是简单的空格,但结果是一样的。 第二个JTextPane的代码:

  • 我想从字符串中删除一些不需要的标记,以便将干净的字符串存储到数据库中。 我已经尝试将字符串与regex表达式联系起来。这是我尝试过的--https://codepen.io/rushijagani/pen/wzxwrj 我想删除所有的span标记,它有一个以“unwanted-span-”开头的类名,它应该只删除标签包装而不是内容内部。 因此所需输出应如下所示 请注意--我们只需要删除类名开头为“

  • Azure应用服务:多容器应用 我使用Azure应用服务来部署我的Spring应用程序。 作为我需求的一部分,需要三个容器(2个用于应用程序,1个用于数据库)。应用映像具有可部署的工件(war),两个具有不同的上下文路径(从web url/*和 /test访问),具有相同的端口(8080)。 取样。yml 我尝试了上述过程,但无法访问应用程序页面。如何处理端口在这种情况下,我的两个容器具有相同的端