昨天项目开发时遇到一个发送图片微博失败的奇怪问题,在本机发送图片微博是好的,但是放到测试机就是无法发送,代码如下

  1. <?php
  2. include_once( 'app/config.php' );
  3. include_once( 'app/inc/saetv2.ex.class.php' );
  4. include_once( 'app/inc/RedisSession.php');
  5. $redisSession=new RedisSession($redis);
  6. $token=$redisSession->getObject("token");
  7. $c = new SaeTClientV2( WB_AKEY , WB_SKEY , $token['access_token'] );
  8. var_dump($infto = $c->upload("tesdfsssfst","http://www.test.com/192.168.60.103/2012080948f5e0b3-282d-0422-bb4c-6651d7caa6ff.jpg"));
  9. ?>

但是运行是无法发送成功:

  1. array(3) { ["error"]=> string(50) "unsupported image type, only suport JPG, GIF, PNG!" ["error_code"]=> int(20005) ["request"]=> string(23) "/2/statuses/upload.json" }
要发送的图片在我的浏览器里是可以访问的,我查看upload的代码发现使用的是file_get_contents函数
于是我在代码里加了
  1. echo file_get_contents("http://www.test.com/192.168.60.103/2012080948f5e0b3-282d-0422-bb4c-6651d7caa6ff.jpg");

奇怪的是我把url改为绝对路径,却是能够获取到图片

  1. echo file_get_contents("/opt/htdocs/www.test.com/192.168.60.103/2012080948f5e0b3-282d-0422-bb4c-6651d7caa6ff.jpg");

于是我在服务器上测试发现这个域名是使用127.0.0.1,而我的机器上配置的hosts是192.168.60.5

  1. [root@operation5 conf]# curl -kvL http://www.test.com
  2. * About to connect() to www.test.com port 80
  3. * Trying 127.0.0.1... connected
  4. * Connected to www.test.com (127.0.0.1) port 80
  5. > GET / HTTP/1.1
  6. > User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
  7. > Host: www.test.com
  8. > Accept: */*
这时我开始怀疑:当访问的服务器ip不是192.168.60.5时会访问到另外一个网站的内容了,因为www.test.com没有使用Flea框架。
查看了一下apache配置,果然:
  1. 192.168.60.5:80 is a NameVirtualHost
  2. default server 192.168.60.5 (/opt/httpd/conf/extra/vhost/_default.conf:1)
  3. port 80 namevhost 192.168.60.5 (/opt/httpd/conf/extra/vhost/_default.conf:1)
  4. port 80 namevhost www.test.com (/opt/httpd/conf/extra/vhost/www.test.com.conf:1)
  5. 192.168.60.5:82 www.test2.com (/opt/httpd/conf/extra/vhost/www.test2.com.conf:18)
  6. 192.168.60.5:443 www.test3.com (/opt/httpd/conf/extra/vhost/www.test3.com.conf:74)
  7. wildcard NameVirtualHosts and _default_ servers:
  8. *:80 www.test4.com(/opt/httpd/conf/extra/vhost/www.test4.com.conf:308)
  9. Syntax OK
见最后一行是*:80,所以就出现配hosts:www.test.com 127.0.0.1时,访问www.test.com访问到的内容为www.test4.com的内容
把*:80改为192.168.60.5:80就好了
或者把所有的192.168.60.5:80都改为*:80;
所以是用*.80还是ip:80必须要统一否则出现莫名其妙的问题

end

本文转自yifangyou 51CTO博客,原文链接:http://blog.51cto.com/yifangyou/1045826,如需转载请自行联系原作者

用新浪微博接口发送图片微博失败的原因相关推荐

  1. java+微博上传图片_java实现新浪微博Oauth接口发送图片和文字的方法

    本文实例讲述了java实现新浪微博oauth接口发送图片和文字的方法.分享给大家供大家参考.具体如下: 基于网上很多人利用新浪api开发新浪微博客户端的时候遇到无法发图片的问题,很多人卡在了这一布.现 ...

  2. C#调用钉钉接口发送图片群消息

    前段时间我被一个需求困扰,如何调用钉钉接口发送图片消息?文字消息用string类型的参数很容易实现了,可是好像要发图片就灭有那么简单了,好在后来经过我的摸索,解决了问题. 步骤如下 要想发群消息,首先 ...

  3. 服务器微信发送图片困难是什么原因导致的,微信接受的图片不清楚的原因是什么?怎么发清楚?...

    日常生活之中,我们使用微信交流的次数是越来越频繁,但有时候我们发现通过微信发送过来的照片,接收之后特别的模糊,也不知道是怎么回事儿,为此也苦恼不已,其实这个问题,想要解决也是很简单的,只需要在发送的时 ...

  4. Win10微信查看图片卡顿或发送图片卡顿的原因和解决方法

    1. 引言 我是Windows11系统,本篇文章同样适用于Windows10.该现象包括点击放大查看pc端微信中别人发送的图片会卡顿.在微信中发送图片时会卡顿.拖动图片或其他文件至微信聊天窗口发送时会 ...

  5. 发送图片微博_微博引流之(实时号养成内幕解析)!

    关于微博实时号! 整理了最近新加小伙伴问了最多的问题! 由于过于基础,就在这统一回复吧! 实时号怎么养? 先给大家科普一下什么是实时号,微博实时号指的是,你发的内容别人在搜索关键词或者某句话的时候,能 ...

  6. php 预防循环发短信_php短信接口发送短信失败,罪魁祸首原来在这里

    随着国民经济的高速发展,短信的应用也逐渐商业化,很多企业.商家开始使用php短信接口来进行推广.营销或内部管理,只是个别的商家在应用php短信接口的时候却遇到了短信发送失败的现象,这到底是因为商家操作 ...

  7. 调用新浪微博客户端发送图片

    Intent intent = new Intent("android.intent.action.SEND"); intent.setPackage(com.sina.weibo ...

  8. php 发送微信请求失败的原因,微信小程序模拟正常 真机服务器请求出错

    微信小程序中出现最多的一个问题,就是真机跟本地不同:我简单列举一些我发现的原因,给大家参考,大家也可以把自己发现的东西回复给我,给我参考: 本地看不到数据,就先让本地能看到数据,再看本帖.... 1: ...

  9. 短信发送显示服务器失败,手机短信发不出去怎么办 手机故障解决方法【方法步骤】...

    手机短信发不出去怎么办? 短信可以由移动通信终端(手机)始发,也可由移动网络运营商的短信平台服务器始发,还可由与移动运营商短信平台互联的网络业务提供商SP(包括ICP.ISP等)始发.平常我们除了打电 ...

最新文章

  1. 英飞凌单片机TC264实战攻略
  2. 给 OpenPOP.Net 加一个小功能,可用于收取邮件时监测数据流量!
  3. springboot取yml中的值_@Value拜拜:更优雅的获取springboot yml中的值
  4. NOIP2020洛谷P7115:移球游戏(分治)
  5. python怎么填充画布_如何在kivy中用图像填充画布?
  6. python的egg包的安装和制作]
  7. Python使用for实现无限循环的多种方法
  8. 网易2018年春招 校招编程题
  9. 制造业的一般生产流程
  10. mysql 锁设置_MySQL锁之二:锁相关的配置参数
  11. 权限管理系统设计——入门(一)
  12. 华清远见-重庆中心-JAVA基础阶段技术总结/知识点梳理/个人总结/关于JAVA技术的解析(看法)/面试题解析
  13. 英文通信地址常用翻译
  14. Go基础:常见的json包--encoding/json、easyjson、ffjson、json-iterator/go
  15. Bonferroni校正法
  16. NI无线通信与射频技术学习资源汇总
  17. pwm控制电机转速原理浅析
  18. laradock、phpstrom、xdebug配置实现断点调试
  19. 如何用php下载文件?
  20. 长虹50名高管激励被隐匿 称绵阳政府不允许宣扬

热门文章

  1. 大端字节序码流中取出2字节_字节码忍者的秘密
  2. PHP实现的一个很强大的彩票网站源码WAP版
  3. 2013百度校园招聘笔试
  4. 验证“哥德巴赫猜想”,数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内
  5. arm linux 进程页表,linux内存管理(五)arm页表
  6. 极溯链农品溯源管理系统:农产品认知升级!
  7. CC36不同的子序列
  8. 怎样才能让他们改掉“吃野味”的陋习?
  9. [思维模式-19]:《复盘》-7- “积”篇 - 操作复盘- 如何做好复盘
  10. 每日微信晨报早报新闻获取,哪里来的?