Pastebin.com Post

Pastebin.com Post

本文关键字:Post com Pastebin      更新时间:2023-09-26

我试图通过Javascript弹出窗口发布一个新的Pastebin。我得到的问题是,它说"错误的API请求,无效的api_option"

我正在使用的链接:http://pastebin.com/api/api_post.php?api_dev_key=<KEY>&api_paste_name=T‌​ITLE&api_option=paste&api_paste_code=SOMETEXT

它说把api_option作为粘贴。我试着查找其他例子,但还没有运气。每个人都遇到过这个问题吗?

您是否需要POST数据而不是get数据?

同样,像这样把你的API密钥放在互联网上可能不是最好的主意。

您如何向Pastebin提交此请求?是通过POST还是GET ?我最好的猜测是,您正在发送GET请求,API需要POST

试试这个:

   let api = {
      option: "paste",
      user_key: "XXXXXXXXXXXX",
      dev_key: 'XXXXXXXXXXXX',
      paste_name: "MyTitle",
      paste_format: "JSON",
      paste_private: 0,
      paste_code: ""
};
  let request = new XMLHttpRequest();
  request.open('POST', 'http://pastebin.com/api/api_post.php', true);
  request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
  data['test'] = 'Yeah PasteBin!';
  dataString = 'api_option='+api.option+'&api_user_key='+api.user_key+'&api_dev_key='+api.dev_key+
'&api_paste_name='+api.paste_name+'&api_paste_format='+api.paste_format+
'&api_paste_private='+api.paste_private+'&api_paste_code='+data;
request.onreadystatechange = function() {
    if (request.status == 200 && request.readyState == 4) {
        alert("URL to new pastebin file: " + request.responseText);
    }
}
  request.send(dataString);

代码的主要问题是将所有内容放在请求URL中,如果它是GET请求,那就好了。PasteBin: api/api_post.php的URL需要POST请求(注意到名字了吗?),所以你必须像我上面展示的那样在正文中发送它。