আমি কৌনিকটিতে প্রকৃত ত্রুটি বার্তার পরিবর্তে "অজানা ত্রুটি" এর জন্য এইচটিটিপি ব্যর্থতার প্রতিক্রিয়া পেয়েছি: 0 অজানা ত্রুটি


121

আমি HttpClientবাইরের পরিষেবাতে অনুরোধগুলি প্রেরণের জন্য কৌনিক 4 ব্যবহার করছি using এটি একটি খুব মানক সেটআপ:

this.httpClient.get(url).subscribe(response => {
  //do something with response
}, err => {
  console.log(err.message);
}, () => {
  console.log('completed');
}

সমস্যাটি হ'ল, যখন অনুরোধটি ব্যর্থ হয় আমি Http failure response for (unknown url): 0 Unknown Errorকনসোলে একটি জেনেরিক বার্তা দেখি । এদিকে, আমি যখন ক্রোমে ব্যর্থ অনুরোধটি পরিদর্শন করি তখন আমি প্রতিক্রিয়া স্থিতিটি 422 দেখতে পাচ্ছি এবং "প্রাকদর্শন" ট্যাবে আমি ব্যর্থতার কারণ বর্ণনা করে আসল বার্তাটি দেখতে পাই।

আমি ক্রোম দেব সরঞ্জামগুলিতে দেখতে পেল এমন প্রকৃত প্রতিক্রিয়া বার্তাটি কীভাবে অ্যাক্সেস করব?

এখানে একটি স্ক্রিনশট যা সমস্যাটি দেখায়: এখানে চিত্র বর্ণনা লিখুন


পুরো errঅবজেক্টটি লগ করার চেষ্টা করুন - কেবলমাত্র নয়message
পাভেল আগারকোভ

আমি একই সমস্যার মুখোমুখি হয়েছি এবং এর জন্যও একটি প্রশ্ন তৈরি করতে যাচ্ছি, এখানে সম্পূর্ণ ভুল বিষয়টি রয়েছে
মেহেদি বেনমোহা

1
বা আরও ভাল {"শিরোলেখ": {"নর্মালাইজড নেমস": {}, "অলসআপডেট": নাল, "শিরোনাম": {}}, "স্থিতি": 0, "স্ট্যাটাসটেক্সট": "অজানা ত্রুটি", "ইউআরএল": নাল, "ঠিক আছে": মিথ্যা, "নাম": "এইচটিপিআরররেস্পোনস", "বার্তা": "এইচটিপি ব্যর্থতার প্রতিক্রিয়া (অজানা ইউআরএল): 0 অজানা ত্রুটি", "ত্রুটি": {"isTrusted": সত্য}}
মেহেদী বেনমোহা

@ পাভেলআগরকোভ, এটি কেবল বার্তা লগ করার বিষয়ে নয়। আমি যে HTTPErrorResponse টি পুনরুদ্ধার করেছি তাতে প্রকৃত ত্রুটি বার্তা নেই। সমস্যাটির একটি স্ক্রিনশট এখানে । আপনি সেখানে দেখতে পাচ্ছেন যে ত্রুটিটি আমি লগ করেছি "" ... অজানা ত্রুটি ... "বলে বার্তা রয়েছে তবে আপনি উপরের অনুরোধের প্রতিক্রিয়াটির পূর্বরূপটি দেখলে আপনি প্রকৃত, অর্থপূর্ণ বার্তাটি দেখতে পাবেন।
grdl

আপনি কি কোনও পরিষেবা কর্মী ব্যবহার করছেন?
ম্যাকলিটো

উত্তর:


96

সমস্যাটি সিওআরএস সম্পর্কিত ছিল । আমি লক্ষ্য করেছি যে ক্রোম কনসোলে অন্য একটি ত্রুটি ছিল:

অনুরোধকৃত উত্সটিতে কোনও 'অ্যাক্সেস-কন্ট্রোল-মঞ্জুরি-উত্স' শিরোনাম উপস্থিত নেই। উত্স ' http: // লোকালহোস্ট: 4200 ' তাই অ্যাক্সেসের অনুমতি নেই। প্রতিক্রিয়াটির HTTP স্থিতি কোড ছিল 422.` `

এর অর্থ ব্যাকএন্ড সার্ভারের প্রতিক্রিয়া শিরোনামটি অনুপস্থিত ছিল Access-Control-Allow-Origin, যদিও add_headerনির্দেশের সাথে প্রতিক্রিয়াগুলিতে এই শিরোলেখগুলি যুক্ত করতে ব্যাকএন্ড এনগিনেক্স কনফিগার করা হয়েছিল ।

যাইহোক, এই নির্দেশটি কেবলমাত্র শিরোনামগুলি যুক্ত করে যখন প্রতিক্রিয়া কোড 20X বা 30X হয়। ত্রুটির প্রতিক্রিয়াগুলিতে শিরোনামগুলি অনুপস্থিত ছিল। alwaysপ্রতিক্রিয়া কোড নির্বিশেষে শিরোনাম যোগ করা হয়েছে তা নিশ্চিত করতে আমার প্যারামিটার ব্যবহার করা দরকার :

add_header 'Access-Control-Allow-Origin' 'http://localhost:4200' always;

একবার ব্যাকএন্ড সঠিকভাবে কনফিগার হয়ে গেলে আমি কৌনিক কোডে প্রকৃত ত্রুটি বার্তাটি অ্যাক্সেস করতে পারি।


এছাড়াও নীচের লিঙ্কটি সিওআরএস
ববস

11
এই লাইনটি কোথায় যুক্ত করা উচিত?
ওমিড আতাওলাহী

1
আপনি কীভাবে একটি এক্সপ্রেস.জেএস। ইউজ ফাংশনে 'সর্বদা' যুক্ত করবেন? সাধারণত কাঠামোটি হ'ল: অ্যাপ.ইউজ (ফাংশন (রেক, রেজ, পরবর্তী) {রেজ.হেডার ("অ্যাক্সেস-কন্ট্রোল-অরিজিন-অরিজিন", " লোকালহোস্ট: 4200" );…}); যেমন আপনি দেখতে পাচ্ছেন res.header দুটি পরামিতি ... একটি নিয়ন্ত্রণ স্ট্রিং এবং একটি মানের জন্য অনুমতি দেয়। আমি বিভিন্ন উপায়ে 'সর্বদা' যুক্ত করার চেষ্টা করেছি তবে তারা সবাই ব্যর্থ বলে মনে হচ্ছে। কোনও পরামর্শ?
AppDreamer

@grdl, যেখানে লাইন অ্যাড_হেডার যুক্ত করা উচিত?
সাত্ত্ব_ভেনু

কোথায় এই লাইন যুক্ত? আমি আমার
এপিআইয়ের

19

যদি অন্য কেউ আমার মতো হারিয়ে যায় তবে ... আমার সমস্যাগুলি করসের কারণে হয়নি (আমার সার্ভারের সম্পূর্ণ নিয়ন্ত্রণ আছে) এবং কর্স সঠিকভাবে কনফিগার করা হয়েছিল!)।

আমার সমস্যাটি ছিল কারণ আমি অ্যান্ড্রয়েড প্ল্যাটফর্ম স্তর 28 ব্যবহার করছি যা ডিফল্টরূপে ক্লিয়ারটেক্সট নেটওয়ার্ক যোগাযোগগুলি অক্ষম করে এবং আমি আমার অ্যাপ্লিকেশনটি বিকাশের চেষ্টা করছিলাম যা আমার ল্যাপটপের আইপিতে চিহ্নিত করে (যা এপিআই সার্ভার চালাচ্ছে)। এপিআই বেস URL টি হ'ল http: // [LAPTOP_IP]: 8081 এর মতো । যেহেতু এটি https নয় , অ্যান্ড্রয়েড ওয়েবভিউ ফোন / এমুলেটর এবং আমার ল্যাপটপের সার্ভারের মধ্যে নেটওয়ার্ক এক্সফারটিকে সম্পূর্ণরূপে অবরুদ্ধ করে। এটি ঠিক করার জন্য:

একটি নেটওয়ার্ক সুরক্ষা কনফিগার যোগ করুন

প্রকল্পে নতুন ফাইল: রিসোর্স / অ্যান্ড্রয়েড / এক্সএমএল / নেটওয়ার্ক_সিকিউরিটি_কনফিগ.এক্সএমএল

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
  <!-- Set application-wide security config -->
  <base-config cleartextTrafficPermitted="true"/>
</network-security-config>

দ্রষ্টব্য: এটি সাবধানতার সাথে ব্যবহার করা উচিত কারণ এটি আপনার অ্যাপ্লিকেশন থেকে সমস্ত ক্লিয়ারটেক্সটকে অনুমতি দেবে (https ব্যবহার করতে বাধ্য করার মতো কিছুই নয়)। আপনি যদি চান তবে এটি আরও সীমাবদ্ধ করতে পারেন।

মূল কনফিগারেশন। Xml এ কনফিগারেশনটি উল্লেখ করুন

<platform name="android">
    ...
    <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
        <application android:networkSecurityConfig="@xml/network_security_config" />
    </edit-config>
    <resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
    ....
</platform>

এটাই! সেখান থেকে আমি APK পুনর্নির্মাণ করেছি এবং অ্যাপ্লিকেশনটি এখন এমুলেটর এবং ফোন উভয় থেকেই যোগাযোগ করতে সক্ষম হয়েছিল।

নেটওয়ার্ক সেকেন্ডে আরও তথ্য: https://developer.android.com/training/articles/security-config.html# ক্লেয়ারটেক্সট ট্র্যাফিকপ্রাপ্ত


একটি টন ধন্যবাদ! আমি একটি "HTTP" ইউআরএলও ব্যবহার করছিলাম। এটি "https" এ পরিবর্তিত হয়েছে এবং এটি কার্যকর হয়েছে। বিটিডব্লিউ, শুধু https এ একটি url পরিবর্তন করা কার্যকর হবে না, এটি পরিচালনা করার জন্য আপনার শংসাপত্রের প্রয়োজন। আমি যে সার্ভারটি ব্যবহার করছিলাম তা উভয়কেই সমর্থন করে, তাই এটি আমার পক্ষে সহজ। যাইহোক, ধন্যবাদ একটি টন!
Xonshiz

1
হ্যাঁ ... আমার জন্য এটা খুব স্পষ্ট হয় .... কারন আমি ব্যবহার করছি http.. এটা কোন সমস্যা যদি আমি ব্যবহার হবে https.... কিন্তু যদি আমি এখনও ব্যবহার করতে চান মধ্যে http, আমি সরাসরি যোগ android:usesCleartextTraffic="true"মধ্যে applicationট্যাগে AndroidManifest.xml। .. এবং এটি কাজ করছে .... উল্লেখ করার জন্য ধন্যবাদ cleartext...
সিয়ামসুল আজ্রিয়েন

আমি কীভাবে এটি বসন্ত বুটে সক্ষম করতে পারি? আমি দুঃখিত যদি প্রশ্নটি খুব তুচ্ছ হয় তবে আমি একটি শিক্ষানবিস এবং অনলাইনে কোনও সমাধান খুঁজে পাচ্ছি না
আসমা রহিম আলী জাফরি

13

ক্রোমে বিজ্ঞাপনগুলি ব্লক এক্সটেনশান বন্ধ করার পরে আমার পক্ষে কাজ করা, এই ত্রুটিটি কিছুটা সময় উপস্থিত হয় কারণ ব্রাউজারে HTTP কে ব্লক করে এমন কিছু

এখানে চিত্র বর্ণনা লিখুন


1
আমার জন্য এটি ইউব্লক অরিজিন ছিল যা এর নামে 'অ্যানালিটিক্স' দিয়ে ফাইল ডাউনলোড করা অবরুদ্ধ করেছে

9

আপনি যদি নেট কোর অ্যাপ্লিকেশন ব্যবহার করে থাকেন তবে এই সমাধানটি সাহায্য করতে পারে!

তবু এটি আপনার সামনের শেষ অ্যাপ্লিকেশনটিতে কৌনিক বা অন্য অনুরোধের ত্রুটি নাও হতে পারে

প্রথমত, আপনাকে মাইক্রোসফ্ট সিওআরএস নিউজ প্যাকেজ যুক্ত করতে হবে:

Install-Package Microsoft.AspNetCore.Cors

তারপরে আপনাকে আপনার স্টার্টআপ.সগুলিতে সিওআরএস পরিষেবা যুক্ত করতে হবে। আপনার কনফিগার সার্ভিস পদ্ধতিতে আপনার নীচের মতো কিছু থাকতে হবে:

public void ConfigureServices(IServiceCollection services)
{
    services.AddCors();
}

এর পরে, আপনার অ্যাপ্লিকেশনটিতে সিওআরএস মিডলওয়্যার যুক্ত করুন। আপনার প্রারম্ভিকাগুলিতে আপনার একটি কনফিগার পদ্ধতি থাকা উচিত। আপনার এটির সাথে এটির মিল থাকতে হবে:

public void Configure(IApplicationBuilder app, IHostingEnvironment env, 
ILoggerFactory loggerFactory)
{
    app.UseCors( options => 
    options.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader());
    app.UseMvc();
}

ল্যাম্বদা অপশনগুলি একটি সাবলীল এপিআই যা আপনার প্রয়োজনীয় অতিরিক্ত বিকল্পগুলি যুক্ত করতে বা সরাতে পারবেন। আপনি যে কোনও ডোমেইন গ্রহণ করার জন্য আসলে "AllowAnyOrigin" বিকল্পটি ব্যবহার করতে পারেন, তবে আমি আপনাকে সুপারিশ করছি যে এটি কারও কাছ থেকে ক্রস অরিজিন কল খোলার কারণে আপনি এটি করবেন না। আপনি তাদের এইচটিটিপি পদ্ধতিতে (ক্রস / পুট / পোস্ট ইত্যাদি) ক্রস অরিজিন কলগুলিও সীমাবদ্ধ করতে পারেন, যাতে আপনি কেবল জিইটি কলগুলি ক্রস ডোমেন ইত্যাদি প্রকাশ করতে পারেন etc.


5

এই ত্রুটিটি আমার জন্য ফায়ারফক্সে সংঘটিত হয়েছিল তবে স্থানীয়ভাবে বিকাশের সময় ক্রোম নয়, এবং এটি ফায়ারফক্সের দ্বারা আমার স্থানীয় এপিআইয়ের এসএসএল শংসাপত্রের উপর বিশ্বাস না করার কারণে ঘটেছিল (যা বৈধ নয়, তবে আমি এটিকে আমার স্থানীয় শংসাপত্রের দোকানে যুক্ত করেছিলাম, যা এটি দেয় ক্রোম এটি বিশ্বাস করে তবে এফএফ নয়)। সরাসরি এপিআইতে নেভিগেট করা এবং ফায়ারফক্সে একটি ব্যতিক্রম যুক্ত করা সমস্যার সমাধান করে।


1
আমি বেশ কয়েকটি সিওআরএস উত্তর দিয়েছি এবং একের পর এক ফায়ারফক্স ব্যবহার করার সময় সমাধান দেয় নি। আমি এই পোস্টটির দিকে তাকিয়ে ভেবেছিলাম, "এটি কোনওভাবেই নয় তবে আমি এই ধারণাটি থেকে দূরে আছি কি" এবং নিশ্চিত যে এটি যথেষ্ট কাজ করেছে worked তোমাকে অনেক ধন্যবাদ!
অ্যারন জর্ডান 23

@ ফ্র্যাক্স, আমার ঠিক একই ঘটনা ছিল! ধন্যবাদ! :)
W92

5

আমার জন্য এটি একটি সার্ভার সাইড জসনসিরাইজারাইজেশন দ্বারা হয়েছিল।

নিউটোনসফট.জসন.জসন সিরিয়ালাইজেশন অনুরোধটি কার্যকর করার সময় একটি অযৌক্তিক ব্যতিক্রম ঘটেছে: স্ব-রেফারেন্সিং লুপটি টাইপের সাথে সনাক্ত হয়েছে ...

ক্লায়েন্ট বলেছেন:

POST http://localhost:61495/api/Action net::ERR_INCOMPLETE_CHUNKED_ENCODING
ERROR HttpErrorResponse {headers: HttpHeaders, status: 0, statusText: "Unknown Error", url: null, ok: false, …}

লুপগুলি দূর করে প্রতিক্রিয়ার ধরণটিকে সহজতর করে সমস্যার সমাধান করা।


2

যদি আপনি লারাভেলটিকে আপনার ব্যাকএন্ড হিসাবে ব্যবহার করেন, তবে আপনার কৌনিক বা আইওনিক প্রকল্পের সিআরও সমস্যা সমাধানের জন্য, এই কোডটি আটকিয়ে আপনার .htaccess ফাইলটি সম্পাদনা করুন

Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Methods: "GET,POST,OPTIONS,DELETE,PUT"

6
আপনার কখনই "*" অনুমতি দেওয়া উচিত নয়! সাধারণভাবে আপনি জানেন যে আপনার ব্যাকএন্ডের সাথে কথা বলছে এবং আপনার তাদের হোস্টটি স্পষ্টভাবে সেট করা উচিত।
itmuckel

@itmuckel তবে আপনি যদি অ্যান্ড্রয়েডের জন্য কোনও অ্যাপ্লিকেশন করছেন তবে হোস্টটি এটি জানা যায়নি। আপনার পরিষেবাটি গ্রাসকারী প্রতিটি মোবাইল কি আমি ঠিক আছি?
মার্টিন

2
আমাদের ব্রাউজার-ভিত্তিক অজ্যাক্স কল ব্যবহার না করে নেটিভভাবে ডিভাইস থেকে কল কল করতে কর্ডোভা-প্লাগইন-অ্যাডভান্সড-এইচপি এবং @ আইয়নিক / নেটিভ র‍্যাপার ব্যবহার করা দরকার। @ মার্টিন
ব্যবহারকারীর 2323774

2

আপনি যখন কোনও বৈধ ক্লায়েন্ট শংসাপত্র এবং আপনার সার্ভারটি বোঝেন এমন টোকেনটি দেননি তখন অনুরূপ ত্রুটি দেখা দিতে পারে:

ত্রুটি:

(অজানা url) এর জন্য এইচটিটিপি ব্যর্থতার প্রতিক্রিয়া: 0 অজানা ত্রুটি

উদাহরণ কোড:

import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Observable, throwError } from 'rxjs';
import { catchError, map } from 'rxjs/operators';

class MyCls1 {

  constructor(private http: HttpClient) {
  }

  public myFunc(): void {

    let http: HttpClient;

    http.get(
      'https://www.example.com/mypage',
      {
        headers:
          new HttpHeaders(
            {
              'Content-Type': 'application/json',
              'X-Requested-With': 'XMLHttpRequest',
              'MyClientCert': '',        // This is empty
              'MyToken': ''              // This is empty
            }
          )
      }
    ).pipe( map(res => res), catchError(err => throwError(err)) );
  }

}

নোট করুন MyClientCertএবং উভয়ই MyTokenখালি স্ট্রিং, সুতরাং ত্রুটি।
MyClientCert& MyTokenযেকোনো নাম আপনার সার্ভার বুঝতে পারে হতে পারে।


আমি আমার আয়নিক অ্যাপ্লিকেশনটিতে এই কোডটি ব্যবহার করি। আমার আয়োনিক অ্যাপ্লিকেশনটি আমার সাইটে সূচক হিসাবে ব্যবহৃত হয়েছে। তবে এই কৌশলগুলি আমাকে সাহায্য করতে পারে না। হয়তো ngnix বা Laravel মধ্যে Laravel প্রয়োজন কনফিগারেশন আমার API গুলি মনে হয় না আমার Docker হোস্ট ... আমি Cors মিডলওয়্যার Cors সক্ষম এবং এটি http সঙ্গে আমার স্থানীয় কাজ কিন্তু সময় ব্যবহৃত Docker বিতরিত নাকিসুরে HTTPS সঙ্গে আমার API কল
সাবের tabatabaee yazdi

যখন আমি এইচটিপি থেকে আমার বিশ্রাম এপিস কল করি তখন যারা কাজ করেছে তবে https কল করার সময় তারা আমার ক্লায়েন্টদের প্রতিক্রিয়া জানায় না। এবং মিশ্রিত প্রকারের ত্রুটি ফিরে আসুন। আমার মনে হয় শংসাপত্রের ত্রুটি বা এনজিনেক্স কনফিগারেশন বা .htaccess এর মতো কিছু আছে কারণ আমি কর্সের জন্য কর্ন মিডলওয়্যার যুক্ত করেছি এবং https ব্যতীত সমস্ত কিছুই ভাল কাজ করেছে। আমার ক্লায়েন্ট এইচটিসি কল কল হোস্ট HTTP ফলাফল ঠিক আছে। তবে যখন আমার ক্লায়েন্টটি https এ কল করুন এবং
https- এ

ঠিক আছে, একটি সমাধান হ'ল, আপনার যে https: // url এ যান, এবং https এর পাশের লক আইকনে ক্লিক করুন, কোনও ফাইলে শংসাপত্র ডাউনলোড করুন, ফাইলটি আমদানি / আবশ্যক / এফএসের মাধ্যমে পড়ুন, তারপরে পাস / পাস করুন ইউআরএলে কলটিতে শংসাপত্রের স্ট্রিং, তারপরে এটি কার্যকর হবে।
মনোহর রেড্ডি পোরেডি

2

আমি এএসপি.নেট এসপিএ এক্সটেনশনগুলি ব্যবহার করছি যা আমাকে 5000 এবং 5001 বন্দরগুলিতে একটি প্রক্সি তৈরি করে যা উন্নয়নের সময় অ্যাংুলার বন্দরে 4200 হয়ে যায়।

আমার https পোর্ট 5001 এর জন্য সঠিকভাবে সিওআরএস সেটআপ ছিল এবং সবকিছু ঠিক ছিল, তবে আমি অজান্তেই একটি পুরানো বুকমার্কে গিয়েছিলাম যা 5000 বন্দরটির জন্য ছিল Then তারপরে হঠাৎ এই বার্তাটি উত্থাপিত হয়েছিল। অন্যরা যেমন কনসোলে বলেছে সেখানে একটি 'প্রিফলাইট' ত্রুটি বার্তা ছিল।

আপনার পরিবেশ নির্বিশেষে, আপনি যদি CORS ব্যবহার করছেন তবে নিশ্চিত হয়ে নিন যে আপনি সমস্ত বন্দর নির্দিষ্ট করেছেন - হোস্ট এবং পোর্ট উভয় ক্ষেত্রেই matter


2

যখনই আমার অনুরোধগুলি শেষ করতে 2 মিনিটের বেশি সময় লেগেছিল আমি সেই সঠিক বার্তাটি পাচ্ছিলাম। ব্রাউজারটি অনুরোধটি থেকে সংযোগ বিচ্ছিন্ন করবে, তবে ব্যাকএন্ডে অনুরোধটি শেষ না হওয়া অবধি চলতে থাকবে। সার্ভার (আমার ক্ষেত্রে ASP.NET ওয়েব এপিআই) সংযোগ বিচ্ছিন্ন করতে পারে না।

একটি পুরো দিন অনুসন্ধানের পরে, অবশেষে আমি এই উত্তরটি পেয়েছি , ব্যাখ্যা করে যে আপনি যদি প্রক্সি কনফিগারেশন ব্যবহার করেন তবে এর ডিফল্ট সময়সীমাটি 120 সেকেন্ড (বা 2 মিনিট) রয়েছে has

সুতরাং, আপনি নিজের প্রক্সি কনফিগারেশনটি সম্পাদনা করতে পারেন এবং যা যা প্রয়োজন তা সেট করতে পারেন:

{
  "/api": {
    "target": "http://localhost:3000",
    "secure": false,
    "timeout": 6000000
  }
}

এখন, আমি এটিকে এনটিএলএম প্রমাণীকরণের সাথে কাজ করার জন্য এজেন্টকিলাইভ ব্যবহার করছিলাম , এবং জানতাম না যে এজেন্টের সময়সীমা প্রক্সিটির সময়সীমাটির সাথে কোনও সম্পর্ক নেই, তাই উভয়ই সেট করতে হবে। এটি বুঝতে আমার কিছুটা সময় লেগেছিল, সুতরাং এখানে একটি উদাহরণ দেওয়া হল:

const Agent = require('agentkeepalive');

module.exports = {
    '/api/': {
        target: 'http://localhost:3000',
        secure: false,
        timeout: 6000000,          // <-- this is needed as well
        agent: new Agent({
            maxSockets: 100,
            keepAlive: true,
            maxFreeSockets: 10,
            keepAliveMsecs: 100000,
            timeout: 6000000,      // <-- this is for the agentkeepalive
            freeSocketTimeout: 90000
        }),
        onProxyRes: proxyRes => {
            let key = 'www-authenticate';
            proxyRes.headers[key] = proxyRes.headers[key] &&
                proxyRes.headers[key].split(',');
        }
    }
};

2

আমার জন্য এটি ব্রাউজারের সমস্যা ছিল, যেহেতু আমার অনুরোধগুলি পোস্টম্যানে কাজ করে।

দেখা যাচ্ছে যে কোনও কারণে, ফায়ারফক্স এবং ক্রোম পোর্টে যাওয়ার অনুরোধগুলি অবরুদ্ধ করেছে 6000, একবার আমি যখন এএসপি.এনইটি এপিআই পোর্টটি পরিবর্তন করি 4000, ত্রুটিটি একটি পরিচিত সিওআরএস ত্রুটিতে পরিবর্তিত হয়েছিল যা আমি ঠিক করতে পারি।

কমপক্ষে ক্রোম আমাকে দেখিয়েছিল ERR_UNSAFE_PORTযা আমাকে কী ভুল হতে পারে সে সম্পর্কে একটি ক্লু দিয়েছে।


1

আপনার যদি জায়গায় সঠিক কর্ড শিরোনাম থাকে। আপনার কর্পোরেট নেটওয়ার্কটি কর্স হেডারটি সরিয়ে ফেলতে পারে। যদি ওয়েবসাইটটি বাহ্যিকভাবে অ্যাক্সেসযোগ্য হয়, তবে নেটওয়ার্কটি সমস্যা তৈরি করছে কিনা তা যাচাই করতে আপনার নেটওয়ার্কের বাইরে থেকে এটি অ্যাক্সেস করার চেষ্টা করুন - কারণ নির্বিশেষে একটি ভাল ধারণা।


1

এসপ নেট কোরটিতে, যদি আপনার এপিআই কন্ট্রোলারের কাছে টিকা নেই [AllowAnonymous]তবে এটি আপনার নিয়ামকের নামের উপরে এটি যুক্ত করুন

[ApiController]
    [Route("api/")]
    [AllowAnonymous]
    public class TestController : ControllerBase

0

অন্যান্য প্রশ্নের মতো পুরানো নয়, তবে আমি এই নিয়ে কেবল একটি আয়নিক-লারাভেল অ্যাপ্লিকেশনটিতে লড়াই করেছি এবং এখান থেকে (এবং অন্যান্য পোস্টগুলি) কিছুই কাজ করে না, তাই আমি https://github.com/barryvdh/laravel-cors এর পরিপূরকটি ইনস্টল করেছি in লারাভেল এবং শুরু হয়েছে এবং এটি বেশ ভাল কাজ করে।


0

আমি যে মডেলগুলিকে জিজ্ঞাসা করার চেষ্টা করছিলাম তার মধ্যে একটি অবৈধ সম্পর্কের কারণে খনি হয়েছিল। এটি সম্পর্কের উপর ক্র্যাশ হওয়া প্রতিক্রিয়াটি ডিবাগ করে অঙ্কিত।


0

আমার জন্য এটি কোনও কৌণিক সমস্যা ছিল না। ডিবিতে ডেটটাইম টাইপের ক্ষেত্র ছিল যার মান (0000-00-00) এবং আমার মডেলটি সেই সম্পত্তিটিকে সঠিকভাবে বেঁধে রাখতে পারে না তাই আমি (2019-08-12) এর মতো একটি বৈধ মানে পরিবর্তিত হয়েছি।

আমি। নেট কোর, ওডেটা ভি 4 এবং মাইএসকিএল (ইএফ পোমেলো সংযোগকারী) ব্যবহার করছি


0

আপনার সংযোগ ফাইলে এই কোডগুলি যুক্ত করুন

header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: PUT,GET,POST,DELETE");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");

0

এটি যদি নোড পরিষেবা হয় তবে এখানে বর্ণিত পদক্ষেপগুলি চেষ্টা করে দেখুন

মূলত, এটি ক্রস-অরিজিন রিসোর্স শেয়ারিং (সিওআরএস) ত্রুটি। যেমন ত্রুটি সম্পর্কে আরও তথ্য এখানে

একবার আমি আমার নোড পরিষেবাটি নিম্নলিখিত লাইনের সাথে কাজ করেছিলাম:

let express = require("express");
let app = express();

app.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");    
    next();
  });

-2

আমার ত্রুটিটি ছিল যে ফাইলটি খুব বড় ছিল (ডটনেট কোরের মনে হয় @ 25Mb এর সীমা রয়েছে)। বিন্যাস

  • ম্যাক্সএলয়েডড কনটেন্টলেন্টথ থেকে ওয়েলকনফাইগ এ 4294967295 (ইউন্টের সর্বাধিক মান)
  • [DisableRequestSizeLimit] এর সাথে নিয়ন্ত্রক ক্রিয়াকে সাজিয়ে তোলা হচ্ছে
  • Services.Configure (অপশন => {অপশনস। মাল্ট্রিপার্টবডিএলজিথলিমিট = 4294967295;;); স্টার্টআপ। সি

আমার জন্য সমস্যা সমাধান।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.