RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 613687
Accepted
Flerry
Flerry
Asked:2020-01-12 16:07:00 +0000 UTC2020-01-12 16:07:00 +0000 UTC 2020-01-12 16:07:00 +0000 UTC

如何通过VK API设置组头?

  • 772

对于初学者,这里是组标头的含义: API文档完全没有提及加载。通过非官方客户的尝试不再有帮助,因为他们没有实现这一点(参考这个问题)。通过查看请求,我发现调用签名看起来不像这里列出的任何文件上传方法/方法。所以,我能够从请求中打开:
在此处输入图像描述

  1. 上传到标头的每个文件都有一个_sig。它会随着请求的不同而发生奇怪的变化,但是没有它您将无法下载该文件。
  2. 如果我们捕捉到 VK 请求,那么我们将获得一个静态链接来下载该文件。这个静态链接工作正常,当你访问它时,它会这样说:

    {"error":"ERR_UPLOAD_FILE_NOT_UPLOADED: file not found","bwact":"owner_cover","server":836521,"mid":151665536,"_sig":"83447078c5079124026b80d90f116398"}
    

然而,在代码中执行下载后,我们得到:

{"error":"ERR_UPLOAD_BAD_SIGNATURE","bwact":"owner_cover","server":836521,"_sig":"d762c16dc795c4f65b59aafdaa39628a"}
  1. VK 使用的方法(通常该方法在act参数中可见。比方说,当加载音频消息时,它是add_doc),不在文档中,看起来像这样:act=owner_cover。
java
  • 2 2 个回答
  • 10 Views

2 个回答

  • Voted
  1. Best Answer
    Flerry
    2020-01-16T00:11:16Z2020-01-16T00:11:16Z

    万岁!万岁!万岁!问题又解决了 :) 是的,我马上就说,先生们,这里的问题比我之前解决的要复杂得多-tyk。
    注意:我们将使用 cookie 发出所有请求。没有他们-什么都没有。
    不管怎样,让我们​​开始吧:

    1. 我们得到一个链接来下载我们的地毯(在 VK 中,盖子称为封面):

      • 我们在这里提出一个请求:https://vk.com/al_page.php
      • 在标头中,我们附上我们的cookie
      • 在POST请求的正文中,这样写:act=owner_photo_box&al=1&cover=1&oid=-id вашей группы
      • 如果一切顺利,我们会得到类似于此页面的响应: 在此处输入图像描述
      • 页面末尾会有链接。我们需要第一个(它紧跟在OwnerPhoto.uploadInit之后)。看截图: 我们的链接原来是这样的:在此处输入图像描述
        https:\/\/pu.vk.com\/c837731\/upload.php?act=owner_cover&oid=-136618761&square=&mid=151665536&server=837731&_origin=https%3A%2F%2Fvk.com&_sig=c55042259e8ee7c612cdcd9861961cdf
    2. 我们使用上一段中获得的链接将照片上传到 VK 服务器:

      我在此处(Java 标准库)描述了如何以multipart/form-data格式上传文件,或者您可以使用OkHttp库更短、更漂亮地上传文件- 该过程在此处描述。注意:现在 VK 只接受post 请求中带有file字段的图像!像这样(在 Java 中)- multipart.addFilePart("file", uploadFile1); 如果图像位于具有不同名称的字段中,您将收到以下错误:

      {“error”:“ERR_UPLOAD_FILE_NOT_UPLOADED:找不到文件”,“bwact”:“owner_cover”,“server”:638219,“mid”:151665536,“_sig”:“9417bfeb4cca32304ed587818d931931”}

    作为回应,我们将收到以下格式的照片描述:

    `{"oid":"-136618761","photo":{"photo":"6fae155614x","sizes":[["x","837731536","18af4","9lzKWBYrE2w",795,1060],["y","837731536","18af5","8knjXW2i2K8",810,1080],["o","837731536","18af6","-w20s8JJGNA",810,1080]],"kid":"9d20ccbaa7b6ec6d7171716dcd5bade1","debug":"xxoyooo"},"x_src":"v837731536\/18af4\/9lzKWBYrE2w.jpg","x_size":[795,1060],"size":[810,1080],"bwact":"owner_cover","server":837731,"mid":151665536,"_sig":"fe9a46f1b2e26f4a1c56bbc36850a10e"}`    
    
    1. 保护我们的艺术作品:

      • 我们获取链接的第一部分,在第一段中获得服务器编号,并将act=owner_cover_crop&_query=替换为它和我们照片的描述,从上面的段落中获得。在我们的例子中,它看起来像这样:

      https://pu.vk.com/c837731/upload.php?act=owner_cover_crop&_query={"oid":"-136618761","photo":{"photo":"2b522d8e86x","sizes":[["x","837731536","18aa5","tuY07_54Ovk",795,497],["y","837731536","18aa6","RxPs7YD5hCs",1590,994],["o","837731536","18aa7","nmZ4LwQDbgw",2880,1800]],"kid":"621fad611afefb9048b478bcc627ab12","debug":"xxoyooo"},"x_src":"v837731536\/18aa5\/tuY07_54Ovk.jpg","x_size":[795,497],"size":[2880,1800],"bwact":"owner_cover","server":837731,"mid":151665536,"_sig":"efb64dcfd413f8e1cd52c86c9ffe98d6"}
      这是我们将要访问的 URL。

      • 请务必在标题中插入我们的cookie
      • 我们得到以下答案:

      {"oid":"-136618761","data":["xAAzIYwAAAAAx7sTQAAGK9PZcylgWKxNsYAAGK9fJJ411totivOAAGK9vsNtLPCSRjQAAAGK91LwRyB-lQoPBAAGK-LTMIdOtvbDACAAGK-W1AR45kIrfADAAGK-n6SOgL5ttKpEAAGK-6ApZsVYFCSa","0,0,795,200",0,"810,1080","795,1060"],"bwact":"owner_cover_crop","server":837731,"mid":151665536,"_sig":"7e008ee2a25eaafe4921763ee3b3691d"}

    2. 我们强制 VK 服从并将我们长期受苦的图片插入标题:

      • 我们向这个地址发出请求:https://vk.com/al_page.php
      • 请务必在标头中插入cookie
      • 在POST请求的正文中,插入上段中获取的字符串,并在其之前添加_query= ,在其之后添加 - &act=owner_photo_save&al=1&from=groups。正文将如下所示:

      _query={"oid":"-136618761","data":["xAAzIYwAAAAAx7sTQAAGKnqTNf2fQ6fuoYAAGKn3Z9dX-ImPaLOAAGKoG1FCgvWBDhHAAAGKqJRsM9D7RwUzBAAGKqWp6mu7odOTZCAAGKqsVKNMJ80uh9DAAGKq99X4PZhrf1wEAAGKrFjQIUH8hRcw","0,536,2880,724",0,"2880,1800","795,497"],"bwact":"owner_cover_crop","server":837731,"mid":151665536,"_sig":"3aeeb1dff8888aed8bf8f65c91568bb0"}&act=owner_photo_save&al=1&from=groups

    上传照片时请注意照片的分辨率。如果不合适,VK 将开始裁剪,但您可以在请求中指定尺寸(我认为很清楚在哪里以及如何裁剪)。一般来说,VK推荐1590×400 ...

    感谢您的关注!希望它能帮助某人...

    • 9
  2. andreymal
    2020-03-13T06:18:16Z2020-03-13T06:18:16Z

    最近有这样的 API 方法:

    • photos.getOwnerCoverPhotoUploadServer

    • 照片.saveOwnerCoverPhoto

    我们调用第一个方法(这里要求我们选择一个区域进行裁剪,如果指定非比例795x200,所选区域的顶部将被裁掉),从收到的链接下载文件,传递收到的哈希和照片到第二种方法 - 更新标题。

    • 1

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    Python 3.6 - 安装 MySQL (Windows)

    • 1 个回答
  • Marko Smith

    C++ 编写程序“计算单个岛屿”。填充一个二维数组 12x12 0 和 1

    • 2 个回答
  • Marko Smith

    返回指针的函数

    • 1 个回答
  • Marko Smith

    我使用 django 管理面板添加图像,但它没有显示

    • 1 个回答
  • Marko Smith

    这些条目是什么意思,它们的完整等效项是什么样的

    • 2 个回答
  • Marko Smith

    浏览器仍然缓存文件数据

    • 1 个回答
  • Marko Smith

    在 Excel VBA 中激活工作表的问题

    • 3 个回答
  • Marko Smith

    为什么内置类型中包含复数而小数不包含?

    • 2 个回答
  • Marko Smith

    获得唯一途径

    • 3 个回答
  • Marko Smith

    告诉我一个像幻灯片一样创建滚动的库

    • 1 个回答
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Алексей Шиманский 如何以及通过什么方式来查找 Javascript 代码中的错误? 2020-08-03 00:21:37 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    user207618 Codegolf——组合选择算法的实现 2020-10-23 18:46:29 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5