如何使用 Perl 且仅使用 LWP::UserAgent 更新我的 Twitter 状态?

2023-12-25

我正在尝试通过 Twitter API 和 OAuth 更新我的状态。

我陷入了最后一步,即状态更新。这是我的代码。

标题:

$ua->default_header('Content-Type' => "application/x-www-form-urlencoded");
$ua->default_header('oauth_signature' => "$signature");
$ua->default_header('Authorization' => '"OAuth realm="Twitter API"');
$ua->default_header('oauth_consumer_key' => "blablabla");
$ua->default_header('oauth_nonce' => "$nonce");
$ua->default_header('oauth_signature_method' => "HMAC-SHA1");
$ua->default_header('oauth_timestamp' => "$epoch");
$ua->default_header('oauth_token' => "$token_final");
$ua->default_header('oauth_version' => "1.0");

该帖子发送至http://api.twitter.com/1/statuses/update.json http://api.twitter.com/1/statuses/update.json使用 lwp useragent 制作:

'oauth_signature'=>"$signature",
'status'=>'Bientot',
'oauth_consumer_key'=>'blabla',
'oauth_signature_method'=>'HMAC-SHA1',
'oauth_nonce'=>"$nonce",
'oauth_timestamp'=>"$epoch",
'oauth_token'=>"$token_final",
'oauth_version'=>"1.0", 

我得到了什么:

HTTP/1.1 401 Unauthorized
Cache-Control: no-cache, max-age=300
Connection: close
Date: Wed, 29 Sep 2010 14:36:48 GMT
Server: hi
Vary: Accept-Encoding
WWW-Authenticate: Basic realm="Twitter API"
Content-Length: 75
Content-Type: application/json; charset=utf-8
Expires: Wed, 29 Sep 2010 14:41:48 GMT
Client-Date: Wed, 29 Sep 2010 14:36:49 GMT
Client-Peer: 128.242.240.29:80
Client-Response-Num: 1
Set-Cookie: _twitter_sess=BAh7DjoTc2hvd19oZWxwX2xpbmswOg5yZXR1cm5fdG8iYWh0dHA6Ly9hcGku%250AdHdpdHRlci5jb20vb2F1dGgvYXV0aG9yaXplP29hdXRoX3Rva2VuPXpMc2d2%250AV2U5aHBvSWNOSW5rOFFkYUNrN1NQSlozZW1VcUNpckNxWkZvOhVpbl9uZXdf%250AdXNlcl9mbG93MDoTcGFzc3dvcmRfdG9rZW4iLWZiNzEyNTAzMGNiYTk1NTU1%250ANDE0OGExM2UxN2U2Yzc1ZmY2YjUzMDE6CXVzZXJpBLWRPgYiCmZsYXNoSUM6%250AJ0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhhc2h7AAY6CkB1c2Vk%250AewA6B2lkIiU0MGUyNmQzNjRmYmI4YThlODgwN2MwZWYzYzNlOGJiYjoMY3Ny%250AZl9pZCIlZTUzZjY0OGIxMWZiOTA0OWQzM2FlOGI4NjYzZDA5NTI6D2NyZWF0%250AZWRfYXRsKwhe%252FkpTKwE%253D--3b624de9adb8de40ff8a3f0a5780f2b18b6abd44; domain=.twitter.com; path=/
Status: 401 Unauthorized
X-Runtime: 0.00264

{"request":"/1/statuses/update.json","error":"Could not authenticate you."}

有人有想法吗?我被困在那里,这真的很令人沮丧。


好吧,如果你不想使用网络::推特 http://search.cpan.org/~mmims/Net-Twitter-3.13009/lib/Net/Twitter.pod or 网络::推特::精简版 http://search.cpan.org/~mmims/Net-Twitter-Lite-0.10003/lib/Net/Twitter/Lite.pm,您可能至少应该看一下代码并看看他们在做什么。

根据您收到的错误,您似乎没有正确执行 OAuth 握手。也许它就像缺少字段一样简单,但我怀疑您的简单方法还缺少更多内容(我对 OAuth 细节一无所知 - 抱歉)。您还可以直接转到 Twitter::Lite 正在使用的 OAuth 模块Net::OAuth::简单 http://search.cpan.org/~simonw/Net-OAuth-Simple-1.5/lib/Net/OAuth/Simple.pm看看他们如何处理。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Perl 且仅使用 LWP::UserAgent 更新我的 Twitter 状态? 的相关文章

  • 如何在 Perl 中以函数式风格进行编码?

    你如何 have a sub返回一个sub or 将文本作为代码执行 in Perl 另外 如何拥有匿名函数存储状态 子返回子作为coderef example 1 return a sub that is defined inline s
  • 我可以查看当前登录的 Twitter 用户吗?

    他们没有通过我的网站进行 OAuth 验证 但在该浏览器上登录到 Twitter 有什么办法让我知道他们的 Twitter 用户名吗 饼干 什么 除非某些东西非常糟糕或者 Twitter 明确提供了用于此目的的 API 否则不会 至少不是通
  • 从 Perl 中的字符串中删除标点符号

    如何从 Perl 中的字符串中删除除空格之外的所有标点符号 s punct g
  • 检测 perl 中声明的包变量

    Given package main our f sub f sub g 1 我怎样才能确定 f 但不是 g 已宣布 即兴的 我以为 main g SCALAR 可能是未定义的 但它是一个善意标量参考值 背景 我想将一个变量导入到main
  • 传递 oauth 令牌请求的授权标头

    我使用java实现oauth来获取未经授权的请求令牌 如何传递授权标头中的参数 我需要通过 GET request token HTTP 1 1 Host photos example net 80 Authorization OAuth
  • 使用 Perl 分割大文本文件

    我必须将一个 1 8Tb 的大文本文件分成两部分 我只需要文件的后半部分 该文件有 n作为记录分隔符 I tried perl ne print if gt line to start from test txt gt result txt
  • Python Tweepy:Twitter Api 说 /users/lookup 不存在

    我正在制作一个研究应用程序 研究具有高权威的 Twitter 用户之间的交互 其中一部分是提取有关用户的信息 我使用 Tweepy for Python 构建了一个应用程序 过去 2 天我一直在提取用户信息 没有出现任何问题 突然提出这样的
  • Google Fit O 身份验证失败并显示 RESULT_CANCELED,且不显示权限页面

    您好 我有一个 android 项目 它从应用程序用户的 Google Fit 个人资料中读取某些数据 我遇到了如下奇怪的情况 以下所有内容都处于调试模式 而不是发布模式 1 当从我自己的笔记本电脑编译时 oAuth 在我的手机上成功运行
  • 您如何评论 RFC?

    我有一些关于OAuth RFC 草案 https datatracker ietf org doc html draft hammer oauth 10 特别是关于它包含的一些错误 但我不确定可接受的制作方法是什么 底部有一个电子邮件地址
  • 使用 twitterkit 将图像发布到 Twitter

    我正在尝试使用 Twitter 的新 TwitterKit 和自定义 UI 发布图像和推文 他们提供的唯一文档是如何用他们的观点来做这件事 所以我可以弄清楚如何在没有图像的情况下做到这一点 NSMutableDictionary messa
  • Perl 中的全局变量、子程序变量问题

    如何将子程序变量值转移到另一个子程序变量中 我可以使用全局变量吗 sub foo my myvar Hello sub foo1 my myvar1 myvar how can I get the Hello from myvar 我尝试使
  • 将相同匹配模式的连续 2 行放入单行中

    我想解析这组行 以便如果得到相同的模式 例如 lt email protected cdn cgi l email protection gt 在连续的行中 它应该以单行形式打印 并在两行之间使用 q2VDWKkY010407 222187
  • css 字体 twitter 像关闭按钮一样,我错过了什么?

    twitter 有一个关闭按钮 它是单个字符 x 我需要类似的东西 但是在我检查之后 span x span 我按照 firebug 告诉我的那样创建 css 规则 close button font family Tahoma Arial
  • Perl 的反引号、system 和 exec 有什么区别?

    有人可以帮帮我吗 在 Perl 中 以下之间有什么区别 exec command and system command and print command 还有其他方法可以运行 shell 命令吗 exec 执行命令并一去不复返 这就像一个
  • 你能挽救我的负面回顾示例来传达数字吗?

    在 高级正则表达式 一章中掌握 Perl http oreilly com catalog 9780596527242 我有一个损坏的示例 我无法找到一个很好的修复方法 这个例子可能为了自己的利益而试图变得太聪明 但也许有人可以帮我解决它
  • 推文按钮不出现

    我正在尝试向 html 页面添加一个 tweet 按钮 我使用 Twitter 按钮生成器中的官方代码 http twitter com about resources buttons tweet http twitter com abou
  • 使用 -T 开关运行时 $ENV{ENV} 不安全

    当我尝试最后一个例子时perlfaq5 如何计算文件中的行数 http perldoc perl org perlfaq5 html How do I count the number of lines in a file 我收到一条错误消
  • Perl:HTTP::微小删除留下损坏的锚标记

    我编写了一个脚本 该脚本收集从数据库读取的缓冲区内的所有 URL 检查该页面是否仍然存在 并使用 HTTP Tiny 从缓冲区中删除 URL 如果该 URL 无法访问或返回无效 问题是 HTTP Tiny 删除左锚标记 例如此处无效的文本
  • 如何在附加的 sqlite 数据库中创建外键?

    我正在尝试创建一个 sqlite3 数据库作为模拟生产环境的测试环境 由于生产的设置方式 表处于多个模式中 我已经在 DBIx Class 中设置了类 使用 schema gt storage gt dbh do将数据库与架构附加在一起 并
  • grep 两个分隔符之间的子字符串

    我有很多bash使用的脚本perl内的表达式grep为了提取两个分隔符之间的子字符串 例子 echo BeginMiddleEnd grep oP lt Begin End 问题是 当我将这些脚本移植到运行的平台时busybox 融合的 g

随机推荐

  • 如何在Spring Boot中访问GCS存储桶?

    Spring Boot中GCP从GCS存储桶读取文件的配置是什么 您可以自动装配存储类以与存储桶一起使用 CRUD 操作 Autowired private Storage storage public void store InputSt
  • 如何在Python中从XML文件中读取注释文本

    我可以使用 import xml etree ElementTree as et 读取 xml 文件 但我的问题是阅读评论文本数据文件中给出 如何读取 例如在下面的 xml 中 我想阅读基础车辆 is 1997 凯迪拉克卡特拉
  • RSA 中的任何真实世界示例以及 Oracle 中的 ORDS

    我正在使用 ORDS 我将使用 RAS 真正的应用程序安全性 或 VPD 来控制授权 我阅读了 oracle RAS 文档 但没有明白如何将它与 ORDS 没有 apex 一起使用 对于使用 VPD 来说也是如此 我在中创建了用户ords
  • 当 SocketChannel 关闭时如何得到通知?

    我希望在以下情况时收到通知SocketChannel http docs oracle com javase 7 docs api java nio channels SocketChannel html有它的close http docs
  • D3:获取选定元素的边界框

    我的 svg 中有多个元素 我想放大其中之一 我想做同样的事这个例子 http bl ocks org mbostock 9656675但具有非地理路径 就像是 d3 select myElement bounds that I can u
  • pandas 将 NaN 替换为 None 表现出违反直觉的行为

    给定一个系列 s pd Series 1 1 1 2 np nan s 0 1 1 1 1 2 2 NaN dtype float64 如果需要将 NaN 转换为 None 例如 使用镶木地板 那么我希望 0 1 1 1 1 2 2 Non
  • 针对非 IE 浏览器和特定 IE 版本的有效条件注释

    如何使用条件评论来定位 仅限 Internet Explorer 某些 IE 版本 某些 IE 版本和所有其他浏览器 没有IE 只有其他浏览器 以一种验证的方式 validator w3 org http www validator w3
  • Pygame:帧重影?

    我正在使用 pygame 在 python 中开发动画环境 用户绘制每一帧 然后使用 ffmpeg 将动画保存为 avi 电影 我想实现一个功能 但不知道如何 帧重影 就像在绘制当前帧时显示前一帧一样 我尝试创建一个名为ghost当按下下一
  • NSTextView 选择特定行

    我使用的是 Xcode 10 Objective C macOS 而不是 iOS 是否可以以编程方式选择一行NSTextView如果给出行号 无需更改内容的任何属性 只需像用户通过三次单击一样选择它即可 我知道如何按范围获取选定的文本 但这
  • C++ 内存模型和 char 数组上的竞争条件

    基本上我很难理解这一点 来自 Bjarne FAQ 然而 大多数现代处理器无法读取或写入单个 字符 它必须读取或写入整个单词 因此分配给 c 实际上是 读取包含c的单词 替换c部分 然后写 单词又回来了 由于对 b 的赋值类似 因此有 两个
  • 有什么办法可以阻止用户在本地保存文档吗?

    如果用户在我的网站上查看文档 例如代表某些机密信息的 pdf 文件 我是否可以阻止他们在本地保存文档 一句话 不 一旦您将数据发送到他们的浏览器 他们就可以用它做他们想做的事情 您可以使用一些 Flash 组件或 Java Applet 来
  • 如何使用jdbc从db2读取xml列

    假设我在 DB2 中有一个名为 ABC 的表 其中有 2 列 id number content xml String q select from ABC where id 121 Connection conn getConnection
  • 在Android的不同模块中使用不同版本的SO文件(如libc++_shared.so)

    我在应用程序的两个单独的模块中使用两个不同的自定义 aar 库 库附带了许多 so 文件 例如 libc shared so 等 在包含这两个文件后 我收到如下错误 2 files found with path lib arm64 v8a
  • 从另一个 PHP 脚本执行 PHP 脚本

    如何使用 php 手动触发服务器来运行 php 脚本 基本上我有一个相当大的 cronjob 文件 每 2 小时运行一次 但我希望能够自己手动触发该文件 而不必等待它加载 我希望它在服务器端完成 编辑 我想从 php 文件执行该文件 而不是
  • for..of 和迭代器状态

    考虑这个Python代码 it iter 1 2 3 4 5 for x in it print x if x 3 break print for x in it print x 它打印1 2 3 4 5 因为迭代器it记住它在循环中的状态
  • 如何将 JDBC 连接到 tns oracle

    我可以使用 tns 文件从 plsql 连接到数据库 现在我想使用 JDBC 从 Java 连接到数据库 我尝试过的 我搜索谷歌 发现我必须使用这个连接字符串 jdbc oracle thin host port tnsfile 我的计算机
  • Eclipse 中保存文件的选项呈灰色

    I m using Eclipse 3 7 on Ubuntu Often after editing a file I cannot save it the save option is greyed out in the menu an
  • 在 python 中列出带有标题的 csv [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我编写了一个脚本 其中给出了如下所示的列表作为输出 red 361 0 blue 1 0 orange 77 0 cream 66
  • 导入样式表中的 XSLT 样式表参数

    是否可以为导入的样式表的参数赋值 我期待类似的事情
  • 如何使用 Perl 且仅使用 LWP::UserAgent 更新我的 Twitter 状态?

    我正在尝试通过 Twitter API 和 OAuth 更新我的状态 我陷入了最后一步 即状态更新 这是我的代码 标题 ua gt default header Content Type gt application x www form