python post请求携带json body

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python post请求携带json body相关的知识,希望对你有一定的参考价值。

参考技术A 最近用到python发post请求,因为习惯在后端处理json数据,所以打算用json做post body

以为这么写就可以
但是实际在server处理时一直读不到body数据,后来调试发现数据依然在postform里。然后才想起来应该是Content-type的问题
改成

这样后果然可以了。

spring restTemplate 发送post请求携带参数和请求头

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;



@Service
@Slf4j
public class TestServiceImpl implements TestService 

    @Autowired
    private RestTemplate restTemplate;

    private final String URL = "http://15.15.82.127:8124/api/test/getData";

    private final String USER_NAME = "test";

    private final String PASS_WORD = "test123";

    @Override
    public String getData()
        //1、构建body参数
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("UserName",USER_NAME);
        jsonObject.put("Password",PASS_WORD);

        //2、添加请求头
        HttpHeaders headers = new HttpHeaders();
        headers.add("Content-Type","application/json");

        //3、组装请求头和参数
        HttpEntity<String> formEntity = new HttpEntity<String>(JSON.toJSONString(jsonObject), headers);

        //4、发起post请求
        ResponseEntity<String> stringResponseEntity = null;
        try 
            stringResponseEntity = restTemplate.postForEntity(URL, formEntity, String.class);
            log.info("ResponseEntity----"+stringResponseEntity);
         catch (RestClientException e) 
            e.printStackTrace();
        

        //5、获取http状态码
        int statusCodeValue = stringResponseEntity.getStatusCodeValue();
        log.info("httpCode-----"+statusCodeValue);

        //6、获取返回体
        String body = stringResponseEntity.getBody();
        log.info("body-----"+body);

        //7、映射实体类
        Wrapper wrapper = JSONObject.parseObject(body, Wrapper.class);
        String data = wrapper.getData();
        log.info("data-----"+data);

        return data;
    



以上是关于python post请求携带json body的主要内容,如果未能解决你的问题,请参考以下文章

spring restTemplate 发送post请求携带参数和请求头

有道词典翻译(携带请求头和post参数请求)

前端Jquery-Ajax跨域请求,并携带cookie

request模块

GET请求与POST请求

Android携带token登陆验证与刷新token