使用 Java post http 请求将文件信息和其他 post 属性发送到 php

问题描述 投票:0回答:0

我需要打一个 php 脚本,它从中获取一些数据- _POST、_REQUEST 和 _FILES

我回应了这些中出现的键值对 - _POST 和 _REQUEST 有一些键和字符串值对,而 _FILE 有一个带有值数组的键作为它的值 - 即:key-'p_up_file' value-> Array -> [name] 'test', [type] plain/txt , ....

我需要用 Java POST http 请求访问这个 php 文件。不太熟悉 php 代码,所以不确定如何设置 java post 实体,以便 php 脚本在这种情况下正确处理它。

即使使用 POSTMAN,我也不太确定 php 如何期望发送这些值,以便这些 _POST、_REQUEST 和 _FILES 填充所需的键值。有没有办法像那样区分它们,从而模仿表单上传?

像这样在 _POST key -> value 对中给出预期的变量 -

HttpClient client = new DefaultHttpClient();
  HttpPost post = new HttpPost("http://localhost:8080/WebService/test.php");

  List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();

  nameValuePairs.add(new BasicNameValuePair("f_name", "Foo"));
  nameValuePairs.add(new BasicNameValuePair("l_name", "Bar"));

  post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
  HttpResponse response = null;

  try {
    response = client.execute(post);
  } catch (ClientProtocolException e) {
    e.printStackTrace();
  } catch (IOException e) {
    e.printStackTrace();
  }

PHP 代码采用类似以下示例的值 -

    $_POST[P_TOKEN_KEY] , $_REQUEST['p_rootdir'] , $_REQUEST['p_username'], 
    $p_upload_file_name = $_FILES[p_up_file][name];
    $p_upload_file = $_FILES[p_up_file][tmp_name];

不确定如何与此一起发送数组值

java php apache post
© www.soinside.com 2019 - 2024. All rights reserved.