You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让PowerShell请求含媒体的推特链接返回正常可读结果?

解决Twitter含媒体推文PowerShell请求乱码问题

问题场景

按以下操作流程请求含视频/图片的Twitter推文时,返回结果出现乱码;但请求无媒体的推文时,结果正常可读:

  • 登录Twitter账号
  • 打开Chrome开发者工具,筛选TweetDetail请求
  • 访问含媒体的推文链接
  • 右键该请求,选择复制 > 复制为PowerShell
  • 在生成的命令末尾-ContentType "application/json"后追加 | select Content | FL
  • 执行PowerShell命令

异常输出(含媒体推文)

�:Y��(�����?[R:W�8^��9S♣C3▼@�QYd1►��8 jE��і:�B*�☻t�jRY��Ц8+F�z*��
          �B��2_�\�
          A���2
          g�s�ģ�# �}�^�
          }�'@�SL]l^1ꕟ��X↨��3▲k���V��,ܤC��2����L→$��↓�☻7����r���4�1aT{��D§K�Ćh�bS(‼u"!RU▲�      ∟��Ɂҁ/�B�☺♠B�J"�ȢW��)
�~C�J��eҀ<<�]�▼�@���hgvM|��ږQ��ٶ��������Z♺�t§V���=���
          �☺�Klkr�♦���p�azK"3I¶�)��,n�չ]�!�#���y�:��▬�W �'ы1���Yr��"�������ͣ��|∟ma�Y*b�^��MomHݶm(�kG��s�♦���,|<��9д♦�����5�[☺qO�Χ�☺,��)�ȍ���ڃ����O���U�tQ��{��f�
          ���^�p�ā��!g?.‼�E���j�}�.X�S�
ٙ�9BS�[�fy▬��a�-�D��D��=��W↑�t��↕�QP�Vt�&*�̣j�:�:�►���>4�◄�♦��<��;�4C|�������Z��▼m↔� 9��ߺҁ|�,[����▬�.
          ����h�^\�ʠQ�w�☻�ڊҺ���s��e��R^�m��b���&����3s�?.G�y��Y_♦����h�7>�m1�.�O��|�v���j��`7♥�w`���
          W�m}8���3Ze_� �E↔♦%}y↕b6)t�;��߳�m�‼h+�▼���?f�

..........

正常输出(无媒体推文)

Content : {"data":{"threaded_conversation_with_injections_v2":{"instructions":[{"type":"TimelineAddEntries","entries":[
          {"entryId":"tweet-1711788684243046525","sortIndex":"7511583352611729282","content":{"entryType":"TimelineTime
          lineItem","__typename":"TimelineTimelineItem","itemContent":{"itemType":"TimelineTweet","__typename":"Timelin
          eTweet","tweet_results":{"result":{"__typename":"Tweet","rest_id":"1711788684243046525","has_birdwatch_notes"
          :false,
..........

注意:在Linux终端使用Copy as cURL (bash)复制请求时,两种推文的返回结果均正常可读。

问题原因

Twitter对含媒体的推文响应启用了gzip压缩,但Chrome复制的PowerShell命令未包含自动解压逻辑;而无媒体推文的响应未启用压缩,或PowerShell默认处理了非压缩内容,因此结果正常。

解决方案

方法1:添加gzip解压逻辑

将原命令末尾的| select Content | FL替换为以下代码,手动对响应内容进行gzip解压:

| ForEach-Object { 
    $stream = New-Object System.IO.MemoryStream(,$_.Content)
    $gzipStream = New-Object System.IO.Compression.GzipStream($stream, [IO.Compression.CompressionMode]::Decompress)
    $reader = New-Object System.IO.StreamReader($gzipStream)
    $reader.ReadToEnd()
}

方法2:禁用响应压缩

在复制的PowerShell命令的-Headers参数中,添加"Accept-Encoding" = "identity",告知Twitter不要返回压缩后的内容:

-Headers @{
    # 保留原有请求头信息
    "Accept-Encoding" = "identity"
}

使用任意一种方法修改后,执行PowerShell命令即可得到正常可读的JSON内容。

内容的提问来源于stack exchange,提问作者July Elizabeth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 11:37:02