需要在 Android 中将图像发布到 Tumblr 博客

2023-12-28

我需要将图片发布到 Tumblr。我读了这个http://www.tumblr.com/docs/en/api/v2#auth http://www.tumblr.com/docs/en/api/v2#auth我开始知道我需要获取用户信息才能获取博客名称。我使用了与 Twitter 身份验证相同的代码,更改了 URL 并成功加载了 Tumblr Web 视图。我使用以下代码进行身份验证并获取用户信息。

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.StatusLine;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import com.twitter.imageupload.R;
import com.twitter.imageupload.SecondClass;
import com.twitter.imageupload.TwitterImageUpload;

import oauth.signpost.OAuth;
import oauth.signpost.OAuthConsumer;
import oauth.signpost.OAuthProvider;
import oauth.signpost.commonshttp.CommonsHttpOAuthConsumer;
import oauth.signpost.commonshttp.CommonsHttpOAuthProvider;
import oauth.signpost.http.HttpParameters;
import twitter4j.conf.Configuration;
import twitter4j.conf.ConfigurationBuilder;
import twitter4j.http.AccessToken;
import twitter4j.http.OAuthAuthorization;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.StrictMode;
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.Window;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.Toast;


public class Tumblr_Web_View extends Activity {
    SharedPreferences settings;
    public static final String PREFS_NAME = "GREATEST_THINGS";
    SharedPreferences.Editor editor;
    final String TAG = getClass().getName();
    Button cancel_button;
    public static String usr_img, log_res, log_id;
    private OAuthConsumer consumer;
    private OAuthProvider provider;

    WebView tumblr_web_view;

    String tweet_Sign_in;
    static twitter4j.Twitter twitter;
    public static String userName;
    public static URL twt_img_url;
    AccessToken accessToken;
    SharedPreferences twtuname_pref;

    SharedPreferences userpref;
    public static final String USER_PREF = "TWITTER_USER";
    SharedPreferences.Editor usereditor;

    SharedPreferences twtlogpref;
    public static SharedPreferences.Editor twtlogeditor;
    public static final String TWTPREF_LOGIN = "LOGIN ID";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        setContentView(R.layout.tumblr_web_view);
        if (android.os.Build.VERSION.SDK_INT > 9) {

            StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
                    .permitAll().build();
            StrictMode.setThreadPolicy(policy);
        }
        tumblr_web_view = (WebView) findViewById(R.id.tumblr_web_view);
        twtuname_pref = this.getSharedPreferences("user_pref", 1);
        settings = getSharedPreferences(PREFS_NAME, 0);
        editor = settings.edit();
        userpref = getSharedPreferences(USER_PREF, 0);
        twtlogpref = getSharedPreferences(TWTPREF_LOGIN, 0);
        try {
            this.consumer = new CommonsHttpOAuthConsumer(
                    Constants.CONSUMER_KEY, Constants.CONSUMER_SECRET);
            this.provider = new CommonsHttpOAuthProvider(Constants.REQUEST_URL,
                    Constants.ACCESS_URL, Constants.AUTHORIZE_URL);
        } catch (Exception e) {
            Log.e(TAG, "Error creating consumer / provider", e);
        }

        Log.i(TAG, "Starting task to retrieve request token.");
        // new OAuthRequestTokenTask(this,consumer,provider).execute();
        try {
            Log.i(TAG, "Retrieving request token from Google servers");
            final String url = provider.retrieveRequestToken(consumer,
                    Constants.OAUTH_CALLBACK_URL);
            Log.i(TAG, "Popping a browser with the authorize URL : " + url);
            // Intent intent = new Intent(Intent.ACTION_VIEW,
            // Uri.parse(url)).setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP |
            // Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_FROM_BACKGROUND);
            // this.startActivity(intent);
            tumblr_web_view.loadUrl(url);

        } catch (Exception e) {
            Log.e(TAG, "Error during OAUth retrieve request token", e);
        }
    }

    /**
     * Called when the OAuthRequestTokenTask finishes (user has authorized the
     * request token). The callback URL will be intercepted here.
     */
    @Override
    public void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        SharedPreferences prefs = PreferenceManager
                .getDefaultSharedPreferences(this);
        final Uri uri = intent.getData();
        if (uri != null
                && uri.getScheme().equals(Constants.OAUTH_CALLBACK_SCHEME)) {
            Log.i(TAG, "Callback received : " + uri);
            Log.i(TAG, "Retrieving Access Token");

            new RetrieveAccessTokenTask(this, consumer, provider, prefs)
                    .execute(uri);

            // finish();

        }
    }

    public class RetrieveAccessTokenTask extends AsyncTask<Uri, Void, Void> {

        @SuppressWarnings("unused")
        private Context context;
        private OAuthProvider provider;
        private OAuthConsumer consumer;
        private SharedPreferences prefs;

        public RetrieveAccessTokenTask(Context context, OAuthConsumer consumer,
                OAuthProvider provider, SharedPreferences prefs) {
            this.context = context;
            this.consumer = consumer;
            this.provider = provider;
            this.prefs = prefs;
        }

        /**
         * Retrieve the oauth_verifier, and store the oauth and
         * oauth_token_secret for future API calls.
         */
        @Override
        protected Void doInBackground(Uri... params) {
            Uri uri = params[0];
            Log.v("uri >>", uri + "");

            String oauth_verifier = uri.getQueryParameter(OAuth.OAUTH_VERIFIER);

            try {
                consumer.setTokenWithSecret(consumer.getToken(),
                        consumer.getTokenSecret());
            //  provider.retrieveAccessToken(consumer, oauth_verifier);

                Log.v("getToken", consumer.getToken());
                Log.v("getTokenSecret", consumer.getTokenSecret());

                Editor uname_editor = twtuname_pref.edit();
                uname_editor.putString("token", consumer.getToken());

                uname_editor.putString("secret_token",
                        consumer.getTokenSecret());
                uname_editor.putString("login_status", "already_logged");
                uname_editor.commit();

                HttpClient httpClient = new DefaultHttpClient();
                HttpGet httpGet = new HttpGet(
                        "http://api.tumblr.com/v2/user/info");
                try {

                    HttpResponse httpResponse = httpClient.execute(httpGet);
                    System.out.println("httpResponse");
                    InputStream inputStream = httpResponse.getEntity()
                            .getContent();
                    InputStreamReader inputStreamReader = new InputStreamReader(
                            inputStream);
                    BufferedReader bufferedReader = new BufferedReader(
                            inputStreamReader);
                    StringBuilder stringBuilder = new StringBuilder();
                    String bufferedStrChunk = null;
                    while ((bufferedStrChunk = bufferedReader.readLine()) != null) {
                        stringBuilder.append(bufferedStrChunk);
                    }
                    System.out.println("Returning value of doInBackground :"
                            + stringBuilder.toString());
                } catch (ClientProtocolException cpe) {
                    System.out
                            .println("Exception generates caz of httpResponse :"
                                    + cpe);
                    cpe.printStackTrace();
                } catch (IOException ioe) {
                    System.out
                            .println("Second exception generates caz of httpResponse :"
                                    + ioe);
                    ioe.printStackTrace();
                }

            } catch (Exception e) {
                Log.e(TAG, "OAuth - Access Token Retrieval Error", e);
            }

            return null;
        }

    }

}

我收到以下错误。

 06-06 23:06:20.084: I/System.out(20264): Returning value of doInBackground :{"meta":{"status":401,"msg":"Not Authorized"},"response":[]}

我做错了什么?

更新: 现已成功获取用户信息。获取用户博客名称。

public class RetrieveAccessTokenTask extends AsyncTask<Uri, Void, Void> {

            @SuppressWarnings("unused")
            private Context context;
            private OAuthProvider provider;
            private OAuthConsumer consumer;
            private SharedPreferences prefs;

            public RetrieveAccessTokenTask(Context context, OAuthConsumer consumer,
                    OAuthProvider provider, SharedPreferences prefs) {
                this.context = context;
                this.consumer = consumer;
                this.provider = provider;
                this.prefs = prefs;
            }

            /**
             * Retrieve the oauth_verifier, and store the oauth and
             * oauth_token_secret for future API calls.
             */
            @Override
            protected Void doInBackground(Uri... params) {
                Uri uri = params[0];
                Log.v("uri >>", uri + "");

                String oauth_verifier = uri.getQueryParameter(OAuth.OAUTH_VERIFIER);

                try {
                    consumer.setTokenWithSecret(consumer.getToken(),
                            consumer.getTokenSecret());
                    provider.retrieveAccessToken(consumer, oauth_verifier);

                    Log.v("getToken", consumer.getToken());
                    Log.v("getTokenSecret", consumer.getTokenSecret());

                    Editor uname_editor = twtuname_pref.edit();
                    uname_editor.putString("token", consumer.getToken());

                    uname_editor.putString("secret_token",
                            consumer.getTokenSecret());
                    uname_editor.putString("login_status", "already_logged");
                    uname_editor.commit();

                    HttpClient httpClient = new DefaultHttpClient();
                    HttpGet httpGet = new HttpGet(
                            "http://api.tumblr.com/v2/user/info");
                    try {
        consumer.sign(httpGet);
                        HttpResponse httpResponse = httpClient.execute(httpGet);
                        System.out.println("httpResponse");
                        InputStream inputStream = httpResponse.getEntity()
                                .getContent();
                        InputStreamReader inputStreamReader = new InputStreamReader(
                                inputStream);
                        BufferedReader bufferedReader = new BufferedReader(
                                inputStreamReader);
                        StringBuilder stringBuilder = new StringBuilder();
                        String bufferedStrChunk = null;
                        while ((bufferedStrChunk = bufferedReader.readLine()) != null) {
                            stringBuilder.append(bufferedStrChunk);
                        }
                        System.out.println("Returning value of doInBackground :"
                                + stringBuilder.toString());
                    } catch (ClientProtocolException cpe) {
                        System.out
                                .println("Exception generates caz of httpResponse :"
                                        + cpe);
                        cpe.printStackTrace();
                    } catch (IOException ioe) {
                        System.out
                                .println("Second exception generates caz of httpResponse :"
                                        + ioe);
                        ioe.printStackTrace();
                    }

                } catch (Exception e) {
                    Log.e(TAG, "OAuth - Access Token Retrieval Error", e);
                }

                return null;
            }

        }

我尝试将图像发布到登录用户的博客。使用了以下代码。但没有得到回应。

try {
                                HttpClient client = new DefaultHttpClient();
                                client.getConnectionManager()
                                        .getSchemeRegistry()
                                        .register(
                                                new Scheme("SSLSocketFactory", SSLSocketFactory
                                                        .getSocketFactory(), 443));
                                HttpConnectionParams.setConnectionTimeout(client.getParams(),
                                        10000);
                                HttpResponse response1;
                                HttpPost post = new HttpPost(
                                        "http://api.tumblr.com/v2/blog/"+username+".tumblr.com/post");
                                consumer.sign(post);
                                JSONObject json_obj_val = new JSONObject();
                                json_obj_val.put("type", "photo");
                                json_obj_val.put("caption", "test");
                                json_obj_val.put("source", "http://50.57.227.117/blacksheep/uploaded/Detailed_images/961314275649aladdins.jpg");

                                    post.setHeader("Content-Type", "application/json");
                                post.setHeader("Accept", "application/json");
                                StringEntity entity_val = new StringEntity(
                                        json_obj_val.toString());
                                entity_val.setContentEncoding(new BasicHeader(
                                        HTTP.CONTENT_TYPE, "application/json"));
                                post.setEntity(entity_val);
                                response1 = client.execute(post);
                                String response_string = EntityUtils.toString(response1.getEntity());
                                Log.v("response >>", response_string);
                                Log.v("response length >>", response_string.length() + "");
                            } catch (UnsupportedEncodingException e1) {
                                // TODO Auto-generated catch block
                                e1.printStackTrace();
                            } catch (ClientProtocolException e1) {
                                // TODO Auto-generated catch block
                                e1.printStackTrace();
                            } catch (ParseException e1) {
                                // TODO Auto-generated catch block
                                e1.printStackTrace();
                            } catch (JSONException e1) {
                                // TODO Auto-generated catch block
                                e1.printStackTrace();
                            } catch (IOException e1) {
                                // TODO Auto-generated catch block
                                e1.printStackTrace();
                            } catch (OAuthMessageSignerException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            } catch (OAuthExpectationFailedException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            } catch (OAuthCommunicationException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }

得到以下回复。代码有什么问题?

06-11 16:24:46.312: V/response >>(27710): {"meta":{"status":400,"msg":"Bad Request"},"response":{"errors":["Post cannot be empty."]}}

我找到了解决方案。我使用以下代码并成功将图像发布到登录用户的博客。

DefaultHttpClient client = new DefaultHttpClient();
HttpResponse resp = null;
String result = null;
    HttpPost hpost = new HttpPost("http://api.tumblr.com/v2/blog/" + username + ".tumblr.com/post");
                                List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
                      nameValuePairs.add(new BasicNameValuePair("type", "photo"));
                        nameValuePairs.add(new BasicNameValuePair("caption", "hello"));
        nameValuePairs.add(new BasicNameValuePair("source", "url_of_the_image"));


            String debug = "";
            try {
                hpost.setEntity(new UrlEncodedFormEntity(
                        nameValuePairs));
                consumer.sign(hpost);
                resp = client.execute(hpost);
                result = EntityUtils.toString(resp.getEntity());
                Log.v("result >>", result);
            } catch (UnsupportedEncodingException e) {
                debug += e.toString();
            } catch (OAuthMessageSignerException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (OAuthExpectationFailedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (OAuthCommunicationException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

需要在 Android 中将图像发布到 Tumblr 博客 的相关文章

  • Android 如何使用 OkHttp 从 Callback 获取响应字符串?

    这是我的代码 OkHttpClient okHttpClient new OkHttpClient Request request new Request Builder url http publicobject com hellowor
  • Android 的 MediaPlayer setSurface 在暂停状态下

    EDIT 显然这与多个活动无关 这与视频文件的编码有关 我会尝试简化问题 当我调用时 我有一个处于暂停状态的 MediaPlayer 对象mediaPlayer getCurrentPosition 我得到的结果是准确的 当我打电话时med
  • Android 两个日期之间的差异

    我有两个约会 例如 String date 1 yyyyMMddHHmmss String date 2 yyyyMMddHHmmss 我想打印差异 例如 2d 3h 45m 我怎样才能做到这一点 谢谢 DateTimeUtils obj
  • Android Volley 服务器错误

    I am posting data all strings to varchar variables in server but i am getting volley server error or badnetwork performa
  • 如何在android中以编程方式读取我的应用程序中电子邮件附加的文件?

    我知道一种获取此处显示的电子邮件中附件名称的方法 Android 在我的应用程序中获取电子邮件附件名称 https stackoverflow com questions 6035535 android get email attachme
  • 通过 Wi-Fi 的 ADB 在一台 PC 上非常慢,但在另一台 PC 上则非常慢

    我正在尝试学习如何为 Android 进行开发 并且我希望能够在我的设备而不是模拟器上进行测试 我手机上的 USB 端口变得非常松动 我不想在使用它进行测试的数十个小时中弄乱它 我在桌面上通过 Wi Fi 启用了 ADB 它运行得非常完美
  • Android 设备上的 Facebook 分享问题

    我使用了来自的样本AndroidFacebook示例 https github com ddewaele AndroidFacebookSample它在模拟器上运行良好 但在设备上它被转移到内置的 Facebook 意图 设备上不会出现身份
  • 在发布我的应用程序之前在 play.google 上获取我的应用程序的链接

    我想使用 facebook api 分享我的应用程序的链接 play google 上的链接 但在将应用程序发布到市场之前我必须拥有它才能将其放入我的代码中 除了发布后立即更新我的应用程序之外 还有其他解决方案吗 用这个 https pla
  • 索尼 SmartWatch 2 定制表盘自固件更新后损坏

    我知道这将是这个的重复 gt SW2 更新后如何修复 Sony SmartWatch 2 上的自定义表盘时间 https stackoverflow com questions 27536415 how to fix custom watc
  • 让每个观察者仅在订阅/观察时接收*新的LiveData

    每当你打电话时 observe 在 LiveData 上 观察者接收该 LiveData 的最后一个值 这在某些情况下可能有用 但对我来说没有用 每当我打电话 observe 我希望观察者只接收未来的 LiveData 更改 而不是它在以下
  • Facebook 和 google 登录不适用于 beta 测试 APK

    Google 和 Facebook 登录在 Android Studio Tools 中工作正常 但它们不适用于测试版本或 Beta 测试 因此请给我任何解决此问题的线索 联系谷歌支持后我已经解决了这个问题 以下是此问题的修复方法 请按照步
  • Android 应用程序阿拉伯语支持

    我已经按照developer android官方网站上的教程Hello L10进行操作 但没有任何关于阿拉伯语的内容 Android 应用程序要使用阿拉伯语需要执行哪些步骤 例如 用户可以使用组合框或单选按钮来选择英语或阿拉伯语 我已经这样
  • listItems之间的黑线,如何删除?

    我的列表项之间有一些水平黑线 如何删除它们 我的图形没有一部分 谢谢 listview setDivider null listview setDividerHeight 0 或在 XML 中
  • Apache POI 的 ProGuard 设置

    我正在构建一个使用 Apache POI 库的应用程序 当我调试应用程序 在不运行 Proguard 的情况下编译它 时 一切都运行良好 但是在导出 APK 后 当我运行应用程序并打开 Excel 文件时 出现以下异常 RuntimeExc
  • 用dagger 2查看依赖注入

    我有一个自定义视图扩展TextView 我应该在哪里调用我的组件来注入视图 component inject customTextView 因此 我发现我需要在自定义视图的构造函数中添加注入 在所有视图中 或者使一个调用另一个 Exampl
  • NestedScrollView 中带有 RecyclerView 的 ItemTouchHelper:拖动滚动不起作用

    我已经实现了 ItemTouchHelper 如本文所述 https medium com ipaulpro drag and swipe with recyclerview b9456d2b1aaf k7xm7amxi https med
  • 横向模式下视频视图不是全屏

    我正在使用用 xml 设计的视频视图 该视频在纵向模式下为全屏 但当切换到横向模式时 它会左对齐 并且宽度和高度都会换行 而不是全屏 我参考了这些 但仍然没有解决这个问题 全屏视频视图未居中 https stackoverflow com
  • 旋转 LayerDrawable 中的单个 RotateDrawable

    我正在构建一个带有某种指南针的应用程序 并且我想使用 LayerDrawable 来绘制指南针并为其设置动画 LayerDrawable 由用于指南针背景的静态背景图像和用于旋转部分的 RotateDrawable 组成 这是我的可绘制资源
  • 电子邮件发不出去,短信中的链接为 404

    我们刚刚完成将 Google AppInvites 集成到我们的应用程序中 我们注意到以下问题 电子邮件不会被发送 而发送的短信会带有一个链接 显示会出现 404 页面 仅当我设置 设置其他平台目标应用程序 对于 Android 和 iOS
  • 如何等待 Kotlin 协程完成

    我读过几十篇文章 但不知何故 没有一个答案似乎适用于我的情况 我想要实现的是在Fragment中等待ViewModel使用Room执行操作 Dao Query SELECT FROM my table WHERE id id suspend

随机推荐

  • Elastic Search 地理空间搜索实现

    我试图了解 elasticsearch 如何在内部支持地理空间搜索 对于基本搜索 它使用倒排索引 但它如何与附加搜索条件 例如搜索特定半径内的特定文本 结合起来 我想了解如何存储和查询索引以支持这些查询的内部结构 文本查询和地理查询是分开执
  • gradle构建过程中的CSS Sprite生成?

    我最近读了一篇关于 Javascript 的文章 其中提到了像 Grunt 和 Ender 这样的构建工具 简要指出 此类工具能够从单独提供的文件生成精灵图像 并且这些构建工具可以集成到构建过程中 不幸的是我的谷歌搜索没有透露更多这方面的信
  • 无法在控制台应用程序 .NET Core 中使用 IOptions

    我有一个控制台应用程序 我正在其中构建配置 IConfiguration config new ConfigurationBuilder AddJsonFile appsettings json true true Build var se
  • 找不到socket.io.js [重复]

    这个问题在这里已经有答案了 可能的重复 找不到socket io js https stackoverflow com questions 10191048 socket io js not found 我正在使用最新版本的 Socket
  • get_class_vars() 未显示变量,但在同一类上运行的 property_exists() 返回 true

    我正在学习 PHP 并且已经开始使用类 下面可能是最基本的对象 哈哈
  • DFP 渲染后回调

    我需要触发一些 JavaScriptafterDFP 广告管理系统已完成页面上所有广告的呈现 或者至少在触发时完成折叠空Divs 隐藏不包含订单项的广告单元 有人知道如何让 DFP 广告管理系统在这些事件发生后触发回调吗 GPT API 现
  • 在新创建的团队中进行测试时,团队 UpdateActivity 事件有所不同

    我们有一个 Teams 机器人 可以在 MS Teams 中发布消息 新对话的第一个活动始终是一张自适应卡片 我们偶尔会用一张新卡片更新它 在我用这个机器人组建了一个新团队之前 这一切都很好 我们尝试使用 UpdateActivityAsy
  • 重新打开 SQL Server Management Studio 后恢复选项卡

    我不认为有一种方法可以模拟 FireFox 类型的设置 即如果我关闭 SQL Server Management Studio 2008 我打开的选项卡在重新启动时会再次出现 我知道我可以将各个窗口保存到 sql 文件中 但想知道是否有办法
  • 使用 setNextMediaPlayer 播放音频时出现问题

    我需要在循环之间没有间隙地播放音频 音频需要无限循环地播放 使用setNextMediaPlayer只合并两个音轨 无间隙 之后会自动停止播放音频 不会永远循环 提前致谢 mp1 MediaPlayer create getApplicat
  • 如何注释以允许使用 Hibernate Search 搜索 List 字段

    假设我有一个如下所示的域对象 Entity Indexed public class Thingie implements DomainObject private Long id private Integer version priva
  • java中基于超类和子类的泛型类型的多重限制

    我有一个实现特定接口的通用列表类 接口中的列表项也实现相同的接口 public abstract class List
  • 执行 aws s3 cp 命令时出现全局名称“ssl”未定义错误

    我正在尝试使用 AWS CLI 命令将文件上传到 AWS S3 我使用的是RedHat 4操作系统的系统 Python版本是2 7 9 OpenSSL 版本为 0 9 8v 2012 年 4 月 19 日 我已经安装了 AWS CLI 当我
  • Code::Blocks 出现 GLUT 编译错误

    一周前 当我第一次尝试使用 GLUT 并遵循本教程 http www sci brooklyn cuny edu goetz codeblocks glut 它工作正常 没有任何错误 现在 一周后 我安装了相同的软件 相同的库 但每次我尝试
  • 将数据复制到同一个表中或从同一个表中复制数据,并将复制的数据中某一列的值更改为指定值

    我想复制 SQL Server 2008 数据库中单个表中的一些数据 并将其复制到同一个表中 并将复制数据的一列中的值更改为单个指定数字 这是一个例子 在下面的名为Metric的表中 数据是 Key Name MetricValue 112
  • 在 WebView 中检查互联网连接

    各位程序员大家好 我的 WebView 应用程序出现问题 我想在启动时添加一个 连接检查 当没有可用的 Internet 连接或 WebView 超时时 该检查会弹出错误 我无法自己完成它 因为我是 Android 编程新手 我还想添加一个
  • Java 中 HashMap 的迭代器

    我尝试在 Java 中迭代 hashmap 这应该是一件相当容易的事情 但是 以下代码给我带来了一些问题 HashMap hm new HashMap hm put 0 zero hm put 1 one Iterator iter Ite
  • 如何清除 Ruby 中的终端?

    我想知道如何在 Ruby 中做我能做的事情system clear 在C 我写了一个像这样的程序 puts amit system clear 我希望执行此命令后清除控制台 但它不起作用 如果你想要一些不太便携的东西 你可以尝试 syste
  • WCF 和 ColdFusion

    我有一个 WCF WebService 我想使用 ColdFusion 来使用 常规过程是使用 CFHTTP 来处理 WSDL 并在正文中包含 SOAP 请求 通常情况下 这是有效的 一切都工作正常
  • 将 Spring Security 3 与 cookie 结合使用

    我有一个用 Java 构建的需要授权的应用程序 但是 身份验证部分由不同 单独的应用程序 不是 Java 处理 用户登录到身份验证应用程序 该应用程序会设置 cookie 如果用户被授权访问 Java 应用程序 他们将被授权应用程序重定向到
  • 需要在 Android 中将图像发布到 Tumblr 博客

    我需要将图片发布到 Tumblr 我读了这个http www tumblr com docs en api v2 auth http www tumblr com docs en api v2 auth我开始知道我需要获取用户信息才能获取博